我正在使用java ee创建一个Web应用程序。我有个疑问。要正确检查文本字段是否为空,检查是否正确?
if(home_number != null || !(home_number.equals("")))
{
}
还有.isEmpty()
功能区和lenght() > 0
来检查字符串是否为空。哪种方式最好?
答案 0 :(得分:4)
为了处理所有的极端情况(如果字符串为null,如果它只由空格等组成......)你可能最好使用一个适合你的库,比如Apache公共lang及其StringUtils
课程:http://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html
因此具有更易读的代码:
if(StringUtils.isNotEmpty(home_number)) { ...
答案 1 :(得分:0)
isEmpty
更为可取。
Returns true if, and only if, length() is 0.
所以,如果长度为0,那么它将直接返回为真。
vs。 !(home_number.equals("")
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
在检查字符串是否为空之前,您需要首先修剪字符串 }
答案 2 :(得分:0)
在我看来,最干净的模式是:
if (a != null && !a.isEmpty()) {
// ...
}
而不是重复数百次,写一个小的静态实用工具方法来包装这种行为,或者使用Google Guava' Strings.isNullOrEmpty()
答案 3 :(得分:0)
您可以使用.isEmpty()
检查输入字段是否为空,但是如果文本字段填充了空格 ???
因此,我建议您在检查.trim()
之前使用empty String
:
if(str != null && !(str.trim().isEmpty())){
// do whatever you want
}