Java的boolean
允许值true
,并false
同时允许布尔值true
,false
和null
。我已经开始将boolean
s 转换为Boolean
s。这可能会导致测试崩溃,例如
Boolean set = null;
...
if (set) ...
而测试
if (set != null && set) ...
似乎是人为的并且容易出错。
何时(如果有)将Boolean
s与空值一起使用是否有用?如果从不,那么包装对象的主要优点是什么?
更新:有很多有价值的答案,我在自己的答案中总结了其中一些。我充其量只是Java的中级课程,因此我尝试展示了一些我认为有用的东西。请注意,问题是“用词不正确”(布尔值不能“具有空值”),但如果其他人有相同的误解,我将其保留
null
一下它是否真的用作第三状态。
Boolean
是对象,而a boolean
是“标量”。如果Boolean
引用设置为null,则意味着相应的Boolean
对象不存在。您不能在不存在的东西中放置任何东西。
Boolean
变量以提供null
帮助。