/**
- 三目运算符
*@author 李宁
*@2019年5月31日 @上午10:31:04
/
public class ThreeOperation {
public static void main(String[] args) {
int a = 10,b = 5;
// 当三目运算的可能结果涉及两个能够隐式转换的类型时,三目运算会将结果向两种结果中较大类型转化
System.out.println(a < b ? 9.9 : 9 / 2);// 4.0
System.out.println(a < b ? 9 : 9 / 2);// 4
System.out.println(a > b ? 9 / 2 : 1.0);// 4.0
/
* 当三目运算的可能结果涉及两个不能隐式转换的类型时,
* 变量的声明只能是Object,并由此指向结果对象
*/
System.out.println(a > b ? 9 / 2 : “11111”);// 4
System.out.println((a > b ? 9 / 2 : “11111”).equals(4));// true
System.out.println((a > b ? 9 / 2 : “11111”).equals(“4”));// false
Object obj = a > b ? 9 / 2 : “11111”;
System.out.println(obj.getClass());// class java.lang.Integer
}
}