Java中带有盒装类型的三元条件的奇怪行为
2022-09-01 22:58:02
我的应用程序(简化版)中有这段代码:
Object result;
if (check)
result = new Integer(1);
else
result = new Double(1.0);
System.out.println(result);
return result;
然后我决定将 if-else 语句重构为三元条件表达式,以便我的代码更加简洁:
Object result = check ? new Integer(1) : new Double(1.0);
System.out.println(result);
return result;
事实证明,如果检查是两个版本打印不同的结果:true
1
艺术
1.0
三元条件不等同于相应的 if-else 吗?