我希望只在我的字符串有意义的值时执行某些操作。因此,我尝试了这个。
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
仍然执行。 它等于null
。 那么,出了什么问题呢?
补充:
我找到了问题的原因。该变量被声明为字符串,因此将null
分配给该变量时,它被转换为"null"
! 因此,if(! myString.equals("null"))
有效。
null
没有任何方法,因此也没有equals()
。如果myString
是null
,你怎么可能调用它的方法呢? :) - BalusCSystem.out.println(myString)
,以便查看其中的内容吗? - Michael Myersnull
”? - Richard JP Le Guennull
赋给该变量时被转换为了"null"
,这是一个非常糟糕的想法。如有可能,请尝试更改此设计。 - polygenelubricants