当我尝试将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;
答案 0 :(得分:2)
我相信这是一些装箱/拆箱问题。分配Boolean.TRUE
或Boolean.FALSE
:
Boolean a = "true".equals(strA)
? Boolean.TRUE
: ("false".equals(strA) ? Boolean.FALSE : null);
按预期工作。