什么时候应该使用布尔值的空值?
Java的boolean
允许值true
,并false
同时允许布尔值true
,false
和null
。我已经开始将boolean
s
转换为Boolean
s。这可能导致测试崩溃,例如
Boolean set = null;...
if (set) ...
测试时
if (set != null && set) ...
似乎人为且容易出错。
何时将Boolean
s与空值一起使用是否有用?如果从不,那么包装对象的主要优点是什么?
更新:有很多有价值的答案,我在自己的答案中总结了其中一些。我充其量只是Java的中级课程,因此我尝试展示了一些我认为有用的东西。请注意,问题是“用词不正确”(布尔值不能“具有空值”),但如果其他人有相同的误解,我将其保留
回答:
使用boolean
而不是Boolean
每次都使用。这将避免很多NullPointerException
,并使您的代码更健壮。
Boolean
很有用,例如
- 将布尔值存储在集合中(列表,地图等)
- 表示可为空的布尔值(例如,来自数据库中的可为空的布尔值列)。在这种情况下,null值可能表示“我们不知道它是对还是错”。
- 每次方法需要使用Object作为参数时,都需要传递一个布尔值。例如,当使用反射或类似的方法时
MessageFormat.format()
。
以上是 什么时候应该使用布尔值的空值? 的全部内容, 来源链接: utcz.com/qa/405260.html