上級 › Integer の == が 127 までしか動かない理由 › パターン4
Integer の == が 127 までしか動かない理由
-128〜127のキャッシュが原因です。
1 public class Main { 2 @SuppressWarnings("deprecation") 3 public static void main(String[] args) { 4 Integer a = ____________________; ^ 5 Integer b = 100; 6 System.out.println(a == b); 7 } 8 }
出力: false期待: true (コンパイルは通っています)
空欄を埋めてビルドを通す
newは常にキャッシュを無視して新しいオブジェクトを作ります。キャッシュされた実体と比較するにはvalueOfかオートボクシングを使います。
次の問題