Eclipse の第一人者によって投稿された Eclipse サイトでいくつかのコードを見つけました。
String something = null ;
if (equals(null)) {
System.out.println("b'");
}
コンパイルします。しかし、実行されていないようです。
これはどのようなJavaコードですか?
Eclipse の第一人者によって投稿された Eclipse サイトでいくつかのコードを見つけました。
String something = null ;
if (equals(null)) {
System.out.println("b'");
}
コンパイルします。しかし、実行されていないようです。
これはどのようなJavaコードですか?
実行されますが、明らかではない可能性があります。次のコードを試してください。
if (equals(null)) {
System.out.println("b");
}
else {
System.out.println("c");
}
このコードを使用するc
と、標準出力に文字が表示されるはずです。
equals(Object obj)
Object
クラスで宣言されたメソッドです。
equals(someObject)
と同等this.equals(someObject)
です。
equals(obj)
の API コントラクトは次のとおりです。
" object が引数と同じtrue
場合、そうでない場合は false.this
obj
."
あなたのコード例では、obj
はthis
オブジェクトではなくnull
. したがって、if
句は に評価されるfalse
ため、実行中の仮想マシンは評価されませんSystem.out.println("b");
。