在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java/ 有關(guān)Integer.equals(Long)的問題

有關(guān)Integer.equals(Long)的問題

public class Main {  
    public static void main(String[] args) {  
           
        Integer a = 1;  
        Integer b = 2;  
        Integer c = 3;  
        Integer d = 3;  
        Integer e = 321;  
        Integer f = 321;  
        Long g = 3L;  
        Long h = 2L;  
           
        System.out.println(c==d);  
        System.out.println(e==f);  
        System.out.println(c==(a+b));  
        System.out.println(c.equals(a+b));  
        System.out.println(g==(a+b));  
        System.out.println(g.equals(a+b));  
        System.out.println(g.equals(a+h));  
    }  
}  

為什么 System.out.println(g.equals(a+b)); 結(jié)果是false,而System.out.println(g.equals(a+h));的結(jié)果是true?

回答
編輯回答
菊外人

a+b 的 結(jié)果是 Integer 類型
a+h 的 結(jié)果是 Long 類型

2017年12月2日 04:05
編輯回答
假灑脫

另外,你使用的是封裝型的對象不是基礎(chǔ)變量。
所以不建議使用==

2017年8月1日 03:12
編輯回答
撥弦

我覺的應(yīng)該是自動拆箱裝箱的問題,前面的a+b是個int類型的吧。

2017年9月26日 02:53