Bất cứ ai có thể giải thích tại sao mã này dẫn đến kết quả dưới đây?Tham chiếu Boolean là null
@Test
public void testBooleanArray() {
Boolean[] ab = new Boolean[]{a, b};
a = new Boolean(true);
b = new Boolean(false);
for(Boolean x : ab) {
System.out.println(x);
}
}
Kết quả:
null
null
nên mảng ab không giữ con trỏ đến một đối tượng và đối tượng b, và do đó đầu ra:
true
false
Bây giờ câu hỏi mẹo là làm thế nào đến bạn có thể gán các biến mà không cần Java phàn nàn rằng chúng không tồn tại: p. P.S: Chú ý chú thích @Test. –
Tôi để lại tuyên bố cho ngắn gọn - không có gì thú vị để xem ở đó! – StuPointerException
Ah xấu hổ. Tôi nghĩ rằng có một số "ma thuật" gây ra bởi môi trường thử nghiệm. Rõ ràng không phải là trường hợp nhưng nhìn thấy những điều xa lạ :) –