Tại sao số nguyên Toán tử "=" không hoạt động đối với 128 và sau giá trị Integer? Ai đó có thể giải thích tình huống này?Tại sao toán tử bằng nhau hoạt động với giá trị Integer cho đến 128 số?
Đây là môi trường Java của tôi: phiên bản java "1.6.0_37"
Java (TM) SE Runtime Environment (xây dựng 1.6.0_37-b06)
Java HotSpot (TM) 64 server Bit VM (xây dựng 20.12-b01, chế độ hỗn hợp)
Sample Code:
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");
}
}
Một số phần của giao diện điều khiển đầu ra:
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
Cảm ơn!
từ -128 đến 127 –
'=' là toán tử gán và bạn không sử dụng nó trong mã ví dụ thực tế của mình; bạn có nghĩa là '=='? – geoffspear