この質問に似たこのサンプルコードを見る:
public class A {
public static void main(String args[]){
A a = new A();
System.out.println(a.equals((a = null)));
}
}
これはfalseを出力します。NullPointerException で失敗しないのはなぜですか? equals メソッドを実行する前に代入を処理する必要がありますが、行全体が評価されるまで equals が呼び出される参照には影響しませんか?
Java 言語仕様のどこにこれが記述されているかわかりませんでした。