Java包装类型与三元运算符联合使用的空指针异常的坑
public class BoxInt {
private Integer id;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public static void main(String[] args) {
BoxInt bi = new BoxInt();
Integer val = bi != null ? bi.getId() : 0;
System.out.println(val);
}
}
代码执行结果是空指针异常,异常原因是三元运算符在进行计算时,推断的类型是基本类型int,当bi.getId()为null转为int时就发生了空指针异常

浙公网安备 33010602011771号