int 和 Integer 的區別

2021-10-05 14:35:00 字數 897 閱讀 5112

int是基本資料型別。不需要例項化。直接儲存資料值,資料儲存在常量池。預設為0。int a = 1000;

integer是int的包裝型別。要例項化。是物件的引用,要重新分派儲存位置,有指向(類似指標)儲存位置兩個屬性。預設為null。integer b = new integer(1000);

1,integer不同建立物件的指向是不同的,但值是相同的。

2,integer和int的變數比較的時候,integer會自動拆箱,進行比較,其本質相當於int的比較。

先有int,後有integer。根據如下原始碼,integer是基於int型別實現的

3,integer b = 1000  此b變數對應的值指向常量池,new integer(1000) 在堆裡新建物件,記憶體位址不同

4,integer a = 1,integer b= 1, a == b  true 。integer非new出來的物件資料,且值範圍在 -128到127間,比較結果為true,根據上圖的原始碼可知。非此區間,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會快...