Code Fix

上級Integer の == が 127 までしか動かない理由 › パターン3

Integer の == が 127 までしか動かない理由

-128〜127のキャッシュが原因です。

 1  public class Main {
 2      public static void main(String[] args) {
 3          Integer a = 1000;
 4          int b = 1000;
 5          System.out.println(a ________ b);
                                     ^
 6      }
 7  }
出力: true(片方がintだと開封されて値比較になります)

空欄を埋めてビルドを通す

広告
広告スロット(未設定)

Integer の == が 127 までしか動かない理由

たまたま動く挙動に依存する危険性を扱います。

このエラーの解説と類題をまとめて見る →

広告
広告スロット(未設定)