布尔值 != 假

2022-09-01 06:17:06

在Java中,你通常会说

if(someBool != false)

与 相同

if(someBool)

但是,如果不是 类型但是 ,并且它的值为 ?someBoolbooleanBooleannull


答案 1

如果要处理实例和基元并且对 null 安全,可以使用以下命令:Boolean

if(Boolean.TRUE.equals(someBool))

答案 2

它将抛出一个(抛出NPE的自动取消装箱)。NullPointerExceptionnull

但这仅意味着您不得允许值。使用默认值,或者不使用自动取消框并进行非空检查。因为使用布尔值意味着您有 3 个值,而不是 2 个值。(迈克尔和托比亚斯克提出了更好的处理方法)nullnull