JAVA三目运算符空指针解决办法

很多人以为以下代码当不不满足条件的时候以下判断会为null。实际上是会报空指针异常的。原因是编译后包装类型会拆箱: Integer tempStatus = false? 0 : vehicleStatus; 反编译后变为:

Integer tempStatus  = false? 0.intValue() : vehicleStatus.intValue();
vehicleStatus为空对象,调用.intValue()自然会引用空指针异常

《JAVA三目运算符空指针解决办法》

正确代码:

《JAVA三目运算符空指针解决办法》

将基本类型0改为 包装类型Integer.valueOf(0),这样就不会发生拆箱,也就不会发生空指针引用。大家使用三目运算符两边类型不一致时,一定要引起注意

    原文作者:llh945l
    原文地址: https://blog.csdn.net/weixin_41123389/article/details/123323529
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞