问题描述 boolean flag = false; Integer a = null; Integer n = flag ? 1 : a; 在计算三元表达式结果时,a变量自动拆箱了,因为a=null,所以造成了NPE问题。 问题解决 在三元表达式计算中,当第二、第三位操作数中有基本类型和对象时,对象就会拆箱为基本类型进行操作。所以如果使用了基本类型或者隐式的使用了基本类型,需要考虑NPE问题。