Java booleancho phép giá trị của truevà falsetrong khi Boolean cho phép true, falsevà null. Tôi đã bắt đầu chuyển đổi booleans của tôi thành Booleans. Điều này có thể gây ra sự cố trong các thử nghiệm như
Boolean set = null;
...
if (set) ...
trong khi kiểm tra
if (set != null && set) ...
có vẻ dễ bị lỗi và dễ bị lỗi
Khi nào, nếu có, sử dụng Booleans với các giá trị null có hữu ích không? Nếu không bao giờ, thì những lợi thế chính của đối tượng được bọc là gì?
CẬP NHẬT: Đã có rất nhiều câu trả lời có giá trị mà tôi đã tóm tắt một số câu trả lời trong câu trả lời của riêng tôi. Tôi tốt nhất là một trung gian trong Java vì vậy tôi đã cố gắng thể hiện những điều mà tôi thấy hữu ích. Lưu ý rằng câu hỏi là "cụm từ không chính xác" (Boolean không thể "có giá trị null") nhưng tôi đã để lại nó trong trường hợp những người khác có cùng quan niệm sai lầm
nullnếu nó thực sự được sử dụng như là trạng thái thứ 3.
Booleanlà một đối tượng, trong khi a booleanlà "vô hướng". Nếu một Booleantham chiếu được đặt thành null, điều đó có nghĩa là Booleanđối tượng tương ứng không tồn tại. Bạn không thể đặt bất cứ thứ gì bên trong thứ gì đó không tồn tại.
Booleanbiến đểnulltrợ giúp.