Integer和int的區別例項詳解

2022-10-06 02:27:07 字數 1053 閱讀 1939

integer和int最本質的區別就是:integer是封裝類,int是基本資料型別(這是廢話)。

本文是希望能對integer和int的區別進行更詳細的對比說明並加以舉例

在說明integer的時候有幾個小知識點提一下:

public boolean equals(object obj)

return false;

}幾點說明

integer a = new integer(1);

int b = 1;

system.out.println(a == b);//true

兩個通過new生成的integer變數是永遠不相等的(因為new生成的是兩個新物件,記憶體位址不同)

integer a = new integer(1);

integer b = new integer(1);

system.out.println(a == b);//false

兩個通過非new產生的integer變數也是不相等的(因為非new產生的integer變數指向j**a常量池中的物件,而new產生的變數指向堆中新建物件,他倆所在的記憶體位址不同)

integer a = new integer(1);

integer b = 1;

system.out.println(a == b);//false

兩個非new產生的integer變數比較:當值在-128~127之間時,結果為true,當值在此區間外結果為false(因為integer常量池的儲存範圍是[-128,127],在此範圍內是直接儲存於常量池的,都指向同乙個位址。在此範圍外的數需要通過堆記憶體建立乙個新物件。比如integer a=1會將1寫入快取中,下次再寫integer b=1時會直接從快取中去,不用new了,所以取到的位址也是相同的)

integer a = 1;

integer b = 1;

system.out.println(a == b);//true

integer a = 129;

integer b = 129;

system.out.println(a == b);//false

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...

int 和 Integer 的區別

int 和 integer 的區別 1 integer是int的包裝類 2 integer是類,預設值是null int是基礎資料型別,預設值是0.3 integer表示的是物件,用乙個引用指向這個物件 而int是基本資料型別,直接儲存數值。integer類在 128到127的快取問題 即jvm會快...