上級 › Integer の == が 127 までしか動かない理由 › パターン1
Integer の == が 127 までしか動かない理由
-128〜127のキャッシュが原因です。
1 public class Main { 2 public static void main(String[] args) { 3 Integer a = 128, b = 128; 4 System.out.println(______________); ^ 5 } 6 }
出力: false期待: true (コンパイルは通っています)
空欄を埋めてビルドを通す
Integerは-128〜127だけキャッシュされ同一実体になります。128以上は別実体なので==がfalseになります。
次の問題