分情況討論:
1.都為integer 的比較
new:一旦new,就是開闢一塊新記憶體,結果肯定是false
不new:需看範圍, integer做了快取,當你取值在-128至127範圍時,會採用快取的物件,所以會相等;當不在這個範圍,內部建立新的物件,此時不相等
2.integer 和int 的比較
比較的是數值,integer會做拆箱的動作,來跟基本資料型別做比較
integer i1 =
newinteger(12
);integer i2 =
newinteger(12
);system.out.
println
(i1 == i2)
;// false
integer i3 =
126;
integer i4 =
126;
system.out.
println
(i3 == i4)
;// true 當在-128—127範圍時,用快取
int i5 =
126;
system.out.
println
(i3 == i5)
;// true 自動拆箱
integer i6 =
128;
integer i7 =
128;
system.out.
println
(i6 == i7)
;// false
int i8 =
128;
system.out.
println
(i6 == i8)
;// true
Integer 和int的區別
1.int是基本的資料型別,直接存數值 2.integer是int的封裝類 integer 是物件,用乙個引用指向這個物件 integer 是乙個類,是int的擴充套件,定義了很多的轉換方法。3.int和integer都可以表示某乙個數值 4.int和integer不能夠互用,因為他們兩種不同的資料...
int和Integer的區別
今天有個學弟問了我乙個面試題 integer a 128 integer b 128 system.out.println a b 輸出什麼?為什麼?說來慚愧,我的直覺告訴我會輸出flase,但突然間還想不出來為什麼。所以寫了個例子研究了下 public static void main strin...
Integer和int的比較
package com.mawei.www public class integertest 和 equals的差異 private static void mytest01 確認有效範圍 private static void mytest02 混合比較 private static void m...