仅当我的字符串具有有意义的值时,我才想执行一些操作。所以,我尝试了这个。
if (!myString.equals("")) {
doSomething
}
还有这个
if (!myString.equals(null)) {
doSomething
}
还有这个
if ( (!myString.equals("")) && (!myString.equals(null))) {
doSomething
}
还有这个
if ( (!myString.equals("")) && (myString!=null)) {
doSomething
}
还有这个
if ( myString.length()>0) {
doSomething
}
在所有情况下doSomething
,尽管我的字符串为EMPTY,但我的程序仍然有效。等于null
。那么,这有什么问题呢?
添加:
我找到了问题的原因。该变量被声明为字符串,结果,null
分配给该变量的结果变为"null"
!因此,if (!myString.equals("null"))
作品。
System.out.println(myString)
在if块之前,这样您可以查看其中的内容吗?
null
”?
null
分配给该变量的对象被转换为"null"
-这是一个可怕的想法。尽可能尝试更改此设计。
null
没有任何方法,所以也没有equals()
。如果myString
是null
,您将如何在其上调用方法?:)