Java:将null赋给Boolean时出现NullPointerException

时间:2015-04-27 15:00:15

标签: java nullpointerexception

当我尝试将null赋值给Boolean时,我有一个NullPointerException。

String strA = "something neither true nor false";
Boolean a = "true".equals(strA) ? true : "false".equals(strA) ? false : null;

我不知道为什么会发生这种情况,因为下面的其他案例就是如此。

Boolean a = null;
Boolean a = "true".equals(strA) ? true : null;

1 个答案:

答案 0 :(得分:2)

我相信这是一些装箱/拆箱问题。分配Boolean.TRUEBoolean.FALSE

Boolean a = "true".equals(strA) 
             ? Boolean.TRUE 
             : ("false".equals(strA) ? Boolean.FALSE : null);

按预期工作。