文字列に意味のある値がある場合にのみ、何らかのアクションを実行したい。だから、これを試しました。
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"))
動作します。
System.out.println(myString)
何があるか見られるようにifブロックの直前にいることをお勧めしますか?
null
?
null
この変数に割り当てられて変換されました"null"
-これはひどい考えです。可能な場合は、このデザインを変更してみてください。
null
メソッドがないため、メソッドもありませんequals()
。もしmyString
あったらnull
、どうやってそのメソッドを呼び出すのでしょうか?:)