以下代码的输出结果是: ``` int a = 10, b = 20; double c = 15.0; Object res = (a < b) ? (c > a ? c : b) : (b > c ? b : c); System.out.println(res + " " + res.getClass().getSimpleName()); ```
答案解析
核心考点:混合类型在条件表达式中的处理。
解题步骤:
1. 外层条件aa(15.0>10)为true,返回c变量(double类型)
3. 结果类型为double,装箱为Double对象
4. 输出时自动调用Double的toString方法
选项分析:
A. 正确,符合运算逻辑
B. 错误,混淆了整型和浮点型的自动装箱
C. 错误,实际类型是具体包装类
D. 错误,返回的是原始c值15.0而非20
易混淆点:
- 基本类型与包装类的自动装箱规则
- 条件表达式返回值的类型推导路径
正确答案:A