标签: java nullpointerexception ternary-operator
当data不是foo或bar时,此小片段会导致NPE。
data
foo
bar
Boolean baz = data == foo ? true : data == bar ? false : null
我猜测编译器将null解释为null Boolean并尝试自动装箱,但为什么呢?是因为存在true / false值吗?如果是这样,他们不应该只是自动进行自动编码吗?毕竟,变量的类型为Boolean。
null
Boolean
true
false