Java boolean
cho phép giá trị của true
và false
trong khi Boolean cho phép true
, false
và null
. Tôi đã bắt đầu chuyển đổi boolean
s của tôi thành Boolean
s. Đ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 Boolean
s 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
null
nếu nó thực sự được sử dụng như là trạng thái thứ 3.
Boolean
là một đối tượng, trong khi a boolean
là "vô hướng". Nếu một Boolean
tham 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.
Boolean
biến đểnull
trợ giúp.