【问题标题】:How can integer and double values be the same in Java? [duplicate]Java中的整数和双精度值如何相同? [复制]
【发布时间】:2016-03-26 13:37:55
【问题描述】:
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");
   }
}

【问题讨论】:

标签: java


【解决方案1】:

这是来自JLS 的相关引用:

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

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

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

【讨论】:

    猜你喜欢
    • 2013-01-28
    • 1970-01-01
    • 2020-10-13
    • 2020-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多