2014-07-18 118 views
-1

我正在編寫一些測試代碼,發現一個奇怪的東西,並仍然困惑如何發生這種情況?整數與==的比較

Integer i1 = 220; 
Integer i2 = 220; 

System.out.println(i1 == i2); 

打印效果與預期。但

Integer i1 = 20; 
Integer i2 = 20; 

System.out.println(i1 == i2); 

打印真正,但兩者是不同的引用指的是不同的對象(我認爲)。

第二段代碼打印true

+0

或指http://stackoverflow.com/questions/13098143/java-integer-constant-pool –

+0

一般的教訓,雖然是:不這樣做。 – biziclop

+0

我明白,平等是爲了比較,但爲什麼要混淆? – Batty

回答