tham khảo: http://java.sun.com/j2se/1.5.0/docs/guide/language/autoboxing.htmlTại sao autoboxing trong Java cho phép tôi có 3 giá trị có thể cho một boolean?
"Nếu chương trình của bạn cố gắng autounbox null, nó sẽ ném một NullPointerException."
javac sẽ cung cấp cho bạn lỗi biên dịch nếu bạn cố gán giá trị null cho boolean. có ý nghĩa. gán null cho Boolean là a-ok. cũng có ý nghĩa, tôi đoán vậy.
nhưng hãy suy nghĩ về thực tế là bạn sẽ nhận được NPE khi cố gắng tự động hủy hộp thư. điều này có nghĩa là bạn không thể thực hiện các thao tác boolean một cách an toàn trên Booleans mà không cần kiểm tra null hoặc xử lý ngoại lệ. tương tự như khi thực hiện các phép toán trên một số nguyên.
trong một thời gian dài, tôi là một fan hâm mộ của autoboxing trong java1.5 + bởi vì tôi nghĩ rằng nó có java gần hơn để được thực sự hướng đối tượng. nhưng, sau khi chạy vào vấn đề này tối qua, tôi phải nói rằng tôi nghĩ rằng điều này hút. trình biên dịch cho tôi một lỗi khi tôi đang cố gắng để làm công cụ với một nguyên thủy uninitialized là một điều tốt. Tôi không muốn sử dụng autoboxing nếu tôi bị mất.
Tôi nghĩ rằng tôi có thể hiểu sai về điểm tự động hóa, nhưng đồng thời tôi sẽ không bao giờ chấp nhận rằng boolean sẽ có thể có 3 giá trị. bất cứ ai có thể giải thích điều này? tôi không nhận được gì?
Câu hỏi Có hoặc không có thể có ba câu trả lời: Có, Không, tôi không biết. – ADTC