经典程序解析
一
输出结果?
public class Demo01 {
public static void main(String[] args) {
boolean isNull = true;
System.out.println(isNull ? getValue(isNull) : 0);
}
private static Integer getValue (boolean isNull) {
return isNull ? null : 0;
}
}
修改之后:
半解析:
----三目运算中 只要后面两个元素是不同的类型, 涉及到类型转换,那么编译器会往下( 基本类型 )转型 ,再进行运算;如果运算中有int和Integer,Integer会先转成int再计算。
----三目运算中自动拆箱时,会转换成int,所以会报NullPointerException。