相关疑难解决方法(0)

Java条件赋值中的类型错误

在下面的代码中,我有两个相同的条件赋值操作,一个返回Double类型的对象,第二个返回字符串"Integer".

double d = 24.0;

Number o = (d % 1 == 0) ? new Double(d).intValue() : new Double(d).doubleValue();
String result = (d % 1 == 0) ? "Integer" : "Double";

System.out.println(o.getClass()); // prints "class java.lang.Double"
System.out.println(result); // Integer
Run Code Online (Sandbox Code Playgroud)

为什么完全相同的表达式返回两个不同的东西?

java conditional-operator

20
推荐指数
1
解决办法
580
查看次数

标签 统计

conditional-operator ×1

java ×1