thể Duplicates:
Booleans, conditional operators and autoboxing
Java, Google Collections Library; problem with AbstractIterator?Java tự động boxing/unboxing wierdness
Đoạn code dưới đây tạo ra một NPE:
Integer test = null;
Integer test2 = true ? test : 0;
System.out.println(test2);
Để in một cách chính xác ra "null "không có ngoại lệ yêu cầu mã này:
Integer test = null;
Integer test2 = true ? test : (Integer)0;
System.out.println(test2);
Rõ ràng trong ví dụ đầu tiên "kiểm tra" đang được mở hộp (chuyển thành int gốc), nhưng tại sao? Và tại sao thay đổi biểu thức khác trong toán tử bậc ba (như trong ví dụ thứ 2) sửa nó? Bất cứ ai có thể cung cấp một số loại câu chuyện về chính xác khi nào, những gì, và tại sao các công cụ trong cả hai ví dụ được đóng hộp và unboxed?
Xem http://www.mail-archive.com/[email protected]/msg32723.html – Adam
Hoặc [Java, Thư viện bộ sưu tập của Google; vấn đề với AbstractIterator? ] (http://stackoverflow.com/questions/1821510/java-google-collections-library-problem-with-abstractiterator), cụ thể là về 'int'. –
Vẫn chưa có ai trả lời (ví dụ cụ thể này) thứ tự thời điểm và nội dung được đóng hộp và được tự động đóng hộp. – GreenieMeanie