这两种方法之间有什么区别?
public boolean nameControl(String str)
{
if (str.trim().isEmpty()) return false;
if (str.trim().length() == 0) return false;
return true;
}
我需要找出str
字符串至少应该有一个字符。
这两种方法之间有什么区别?
public boolean nameControl(String str)
{
if (str.trim().isEmpty()) return false;
if (str.trim().length() == 0) return false;
return true;
}
我需要找出str
字符串至少应该有一个字符。
isEmpty()
方法适用于Java 6,而length == 0
方法适用于Java 1.2+或更早版本。
如果您注意到,方法的实现是这样的:
public static boolean isEmpty(String str)
来自Apache Commons Lang的org.apache.commons.lang.StringUtils
类使用str.length() == 0
来支持Java 5.0+。
IsEmpty(): http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#isEmpty()
Length(): http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#length()
想在此更新一下:
我注意到如果字符串中有换行符(\n或\r),那么length函数将不会返回零值,但isEmpty函数将返回预期的true值。
public boolean nameControl(String str) {
if (str == null) return false;
else if (str.trim().length() == 0) return false;
return true;
}
trim
:public boolean nameControl(String str) {
if (str == null) return false;
else if (str.length() == 0) return false;
return true;
}