我使用以下代码检查字符串是否为空
if( !Index2.toString().isEmpty()){
....
}
但是我遇到了以下错误
java.lang.NullPointerException
答案 0 :(得分:4)
您的Index2
变量的值为null
。这就是你得到错误的原因。具体来说,错误在于:
Index2.toString()
假设您的Index2
变量与null
不同,您的代码将起作用。为了使您的代码有效,您可以验证Index2
与null
不同,或添加处理try/catch
的{{1}}块。
第一种方式:
NullPointerException
第二种方式:
if( Index2 != null && !Index2.toString().isEmpty()){
//...
}
恕我直言,我会用第一种方式。
答案 1 :(得分:3)
检查字符串是否为空,并检查字符串中的空格,因为即使我们在字符串中有一个空格作为myString =“”; myString.isEmpty()将返回false。所以请考虑上面的情况我会建议:
if (myString != null && myString.trim().length() != 0 )
return true;
答案 2 :(得分:2)
也检查Null。
if( Index2!=null && !Index2.toString().isEmpty()){
....
}
答案 3 :(得分:2)
apache.commons包中有一个StringUtils类,它有很多有用的方法,比如
StringUtils.isEmpty(theString)
这将进行两种比较,!= null和isEmpty并且看起来更好。
答案 4 :(得分:0)
这是你应该为你的案子检查空的方法:
if( Index2 == null || Index2.toString() == null ||
Index2.toString().length() == 0)
// it is empty
答案 5 :(得分:0)
使用以下代码:
if(Index2!=null){
if( !Index2.toString().isEmpty()){
....
}
}
答案 6 :(得分:0)
isEmpty()和 null 彼此无关。首先检查String的值,如果它等于“” - 或者你可以说如果它的长度只有0,它将返回true。第二个是检查它的初始化。
如果需要,您应该检查这两种情况,例如
if(str!= null&&!str.isEmpty()){... }
OR
if(str!= null&&!str.equals(“”)){... }
或者在你的情况下使用它,
if(index2!= null){ if(index2.toString()!= null&&!index2.toString()。isEmpty()){...} }