这两种方法有什么区别?
public boolean nameControl(String str)
{
if (str.trim().isEmpty()) return false;
if (str.trim().length() == 0) return false;
return true;
}
我需要找出str
至少应该有一个字符。
答案 0 :(得分:17)
答案 1 :(得分:4)
来自Javadoc:
的isEmpty
public boolean isEmpty()
当且仅当length()为0时返回true。
答案 2 :(得分:4)
isEmpty()
可用,因为 Java 6 和length == 0
自Java 1.2+以来可能起作用,或者可能是旧版本。
如果您注意到方法的implementation
public static boolean isEmpty(String str)
来自org.apache.commons.lang.StringUtils
的类Apache Commons Lang的使用str.length() == 0
以支持Java 5.0 +。
答案 3 :(得分:1)
幸运的是,这已经记录在案了:
的IsEmpty(): http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#isEmpty()
长度(): http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#length()
答案 4 :(得分:0)
如果你需要检测一个字符串是否至少有一个(非空格)字符,我会尝试:
public boolean nameControl(String str) {
if (str == null) return false;
else if (str.trim().length() == 0) return false;
return true;
}
如果只包含空格的字符串应该返回true,我会删除trim
,如下所示:
public boolean nameControl(String str) {
if (str == null) return false;
else if (str.length() == 0) return false;
return true;
}
答案 5 :(得分:0)
想要对此进行更新:
我当时观察到字符串是否具有换行符char(\ n或\ r) 长度乐趣给您的价值不是零,但isEmpty却与众不同 值应为true 。