【强制】三目运算符,高度注意表达式1和2在类型对齐时,可能抛出因自动拆箱导致NPE异常

说明:以下两种场景会触发类型对齐拆箱操作
1、表达式1或表达式2值只要有一个原始类型
2、表达式1或表达式2值类型不一致,会强制拆箱升级成范围更大的类型

举例说明

Integer a = 1;
Integer b = 2 ;
Integer c = null ;
Boolean flag = false;
Integer result = (flag?a*b:c);
// a*b 结果为int类型,那么c会强制拆箱int,抛出NPE

猜你喜欢

转载自blog.csdn.net/greek7777/article/details/127343807