java-基础知识-三⽬运算符-NPE异常1.NPE异常
三⽬运算符: exp1?val1:val2;
exp1为true 返回 val1  反之 exp1=false  返回 val2
int i=0;
boolean flag=false;
Integer j=null;
//        ************正常输出*****************
//        Integer k=flag?j:i;
//        相当于下式
//        Integer k = Integer.valueOf(flag ? j.intValue() : i);
//        System.out.println(k);
/
/
//        ***************NullPointerException*******NPE异常*********
//        在开发过程重点注意包装类型的⾃动拆箱问题
//        当表达式2与表达式3分别是基本类型和其包装类,包装类将⾃动拆箱引发NPE异常
//        最好保持表达式2 与表达式3 的类型⼀致
//        Integer l=flag?i:j;
三目条件运算符?:的含义
//        Integer l = Integer.valueOf(flag ? i : j.intValue());
//        System.out.println(j.intValue());
val1 与val2 类型相同,直接返回。
val1 与val2 类型不同,例如 i为int,j为integer 当返回值为j时,包装类转为基本类型 j.intValue() 。
所以返回j时,会出现NullPointerException。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。