所以正如标题中所问的:当从 long 值中减去 double 值时,内部会发生什么?是 double 类型还是 long 类型的结果,这种行为是否在 Java 规范中指定,或者这种行为是 jvm 特定的?
所以我知道我可以测试自己的 jvm 做了什么:
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
double b = 1000;
long a = 1000;
Object c = a - b;
Class cls = c.getClass();
System.out.println("The type of the object is: " + cls.getName());
}
}
输出:
The type of the object is: java.lang.Double
但这是在某处指定的吗?还是特定于我使用的jvm?