Почему Integer "=" оператор не работает для 128 и после значений Integer? Может ли кто-нибудь объяснить эту ситуацию?
Это моя среда Java: java version "1.6.0_37"
Java (TM) SE Runtime Environment (сборка 1.6.0_37-b06)
Java HotSpot (TM) 64-разрядная серверная VM (сборка 20.12-b01, смешанный режим)
Пример кода:
Integer a;
Integer b;
a = 129;
b = 129;
for (int i = 0; i < 200; i++) {
a = i;
b = i;
if (a != b) {
System.out.println("Value:"+ i + " - Different values");
} else {
System.out.println("Value"+ i + " Same values");
}
}
Некоторая часть вывода консоли:
Value:124 - Same values
Value:125 - Same values
Value:126 - Same values
Value:127 - Same values
Value:128 - Different values
Value:129 - Different values
Value:130 - Different values
Value:131 - Different values
Value:132 - Different values
Спасибо!