本文共 272 字,大约阅读时间需要 1 分钟。
三目运算符condition ? 表达式1 :表达式2中,表达式1和2在类型对齐时,可能因自动拆箱导致NPE异常:
类型对齐的自动拆箱场景: 1.表达式1或表达式2,只要有一个是基本类型 2.表达式1或2的值类型不一致,会强制拆箱成范围更大的那个类型 例: Integer a = 1; Integer b = 2; Integer c = null; Boolean flag = false; // a*b的结果是int类型,那么c会强制拆箱成int类型,导致抛出NPE异常 Integer result = flag ? a*b : c;转载地址:http://webws.baihongyu.com/