1

Eclipse の第一人者によって投稿された Eclipse サイトでいくつかのコードを見つけました。

String something = null ;       
if (equals(null)) {
    System.out.println("b'");
} 

コンパイルします。しかし、実行されていないようです。

これはどのようなJavaコードですか?

4

2 に答える 2

0

実行されますが、明らかではない可能性があります。次のコードを試してください。

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.thisobj ."

あなたのコード例では、objthisオブジェクトではなくnull. したがって、if句は に評価されるfalseため、実行中の仮想マシンは評価されませんSystem.out.println("b");

于 2013-10-17T17:08:19.523 に答える