Java中的整数和双精度值如何相同?

时间:2015-12-20 09:04:10

标签: java

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");
   }
}

1 个答案:

答案 0 :(得分:1)

以下是JLS的相关引用:

  

当运算符将二进制数字提升应用于一对操作数时,每个操作数必须表示可转换为数字类型的值,以下规则适用:   
...
  2.扩展原始转换(第5.1.2节)用于转换以下规则中指定的一个或两个操作数:

     

- 如果任一操作数的类型为double,则另一个操作数转换为double

在您的情况下,i会转换为double以执行比较。