计算 Java 中包含条件运算符的表达式
Evaluation of an expression in Java that contains conditional operator
查看以下 java 表达式:
srcVariableValue =
((leftRealValue instanceof Integer) ? ((Integer) leftRealValue) : ((Double) leftRealValue))
+
((rightRealValue instanceof Integer) ? ((Integer) rightRealValue) : ((Double) rightRealValue));
执行时,如果leftRealValue和rightRealValue为Integer,则结果为Double。
例如:
- rightRealValue = 1 类型整数
- leftRealValue = 0 类型整数
结果:
- srcVariableValue = 1.0 类型 Double
这是预期的行为吗?当然,切换到if语句,效果很好,结果是Integer类型。
我正在使用 Java 7
非常感谢。
查看以下 java 表达式:
srcVariableValue =
((leftRealValue instanceof Integer) ? ((Integer) leftRealValue) : ((Double) leftRealValue))
+
((rightRealValue instanceof Integer) ? ((Integer) rightRealValue) : ((Double) rightRealValue));
执行时,如果leftRealValue和rightRealValue为Integer,则结果为Double。
例如:
- rightRealValue = 1 类型整数
- leftRealValue = 0 类型整数
结果:
- srcVariableValue = 1.0 类型 Double
这是预期的行为吗?当然,切换到if语句,效果很好,结果是Integer类型。
我正在使用 Java 7
非常感谢。