コード :
Integer a1 = 100;
Integer a2 = 100;
System.out.println(a1 == a2); // true
Integer b1 = new Integer(100);
Integer b2 = new Integer(100);
System.out.println(b1 == b2); // false
Integer c1 = 150;
Integer c2 = 150;
System.out.println(c1 == c2); // false
AutoBoxing を使用すると、-128 から 127 までの値が同じ Integer オブジェクトを参照しているように見える Java 設計。これにより、最初のコード フラグメントと最後のコード フラグメントの結果が異なります。
私の質問は次のとおりです。なぜJavaはこのように設計されているのですか、何か利点はありますか?