【发布时间】:2016-04-26 00:55:06
【问题描述】:
我注意到java.lang.Boolean 类的一个问题是它无法解析空值。我知道它有 parseBoolean 静态方法,但由于它的签名声明它只接受 String 而不是 Object。
换句话说,它具有以下签名:
public static boolean parseBoolean(String s)
但不是:
Boolean.parseBoolean(Object)
在不发生 NullPointerException 的情况下检查布尔值的最佳方法是什么?
【问题讨论】:
-
你想做什么?将
Boolean(即真、假或空)转换为boolean?如果是这样,您必须决定是否希望 null 为 true 或 false。 -
看看this有没有帮助。
-
你认为
parseBoolean(null)只适用于parseBoolean(Object)吗?如果不是,您希望如何将您的对象解析为Boolean? -
你是如何在 NullPointerException 上失败的?
-
我从一个对象实体接收到一个必须是布尔值的字段(因为它是实体),而 null 当然是错误的。所以我认为最好的答案就是将其与
Boolean.TRUE进行比较