Javaboolean
允许值为 true
和 false
,而 Boolean 允许值为 true
、 false
和 null
。我已经开始将我的 boolean
转换成 Boolean
。这可能导致以下测试中的崩溃
Boolean set = null;
...
if (set) ...
而测试
if (set != null && set) ...
似乎有点做作,容易出错。
如果有的话,什么时候使用带空值的 Boolean
是有用的?如果从来没有,那么包装对象的主要优点是什么?
更新: 有如此多的有价值的答案,以至于我在自己的答案中总结了其中的一些。我充其量只是 Java 的中级水平,所以我试着展示一些我觉得有用的东西。请注意,这个问题是“措辞不正确”(布尔值不能“有一个空值”) ,但我留下了它,以防其他人有同样的误解