class Test {
public static void main(String[] args) {
int i=1;
double d=1.0;
if(i==d)
System.out.println("True") // whether any type casting happens.
else
System.out.println("false");
}
}
答案 0 :(得分:1)
以下是JLS的相关引用:
当运算符将二进制数字提升应用于一对操作数时,每个操作数必须表示可转换为数字类型的值,以下规则适用:
...
2.扩展原始转换(第5.1.2节)用于转换以下规则中指定的一个或两个操作数:- 如果任一操作数的类型为double,则另一个操作数转换为double 。
在您的情况下,i
会转换为double
以执行比较。