三目运算符报错代码:
Order order = initOrder();
Integer num = order.getType()==null ? 0 : order.getNum();
以上代码,若type为null,不会报错,
若不为null,获取order的num属性时,若num为null时会产生空指针异常
原因是,三目运算符会强制类型转换,进行拆箱报空指针异常
image.png
解决方案:进行类型统一
Order order = initOrder();
Integer num = order.getType()==null ? new Integer(0) : order.getNum();