Integer num1 = Integer.parseInt("123");
Integer num2 = 123;
System.out.println(num1 == num2); // true
Integer num3 = Integer.parseInt("456");
Integer num4 = 456;
System.out.println(num3 == num4); // false
== 比較的是引用地址,非數值。123 自動裝箱為 Integer.valueOf(123),該方法緩存 -128 到 127 的實例,同值返回同一對象。parseInt 返回新對象(不走緩存),但 123 在緩存範圍內,valueOf 返回緩存對象,兩者恰好指向同一對象 → true。456 超出緩存範圍,valueOf 創建新對象,與 parseInt 返回的新對象地址不同 → false。比較 Integer 數值請用 .equals() 或拆箱為 int 再用 ==。