首页 > 解决方案 > 有人对“==”和“.equals()”的区别有解释吗?在下面的代码中?

问题描述

有人对上面代码中的 a.equals(b) 和 a==b 有解释吗?您也可以参考该图像,该图像显示了以下代码的输出。

public class Main
{
    public static void main(String[] args) {
            Integer  a=new Integer(10);
            double  b=10;
            System.out.println(a==b);
            System.out.println(a.equals(b));
    }
}

在此处输入图像描述

标签: java

解决方案


如果你在课堂上看到equals方法。Integer由于bis 不是它instanceInteger返回值false

public boolean equals(Object obj) {
    if (obj instanceof Integer) {
        return value == ((Integer)obj).intValue();
    }
    return false;
}

推荐阅读