Java之Integer與int比較

2021-07-24 08:26:00 字數 825 閱讀 1807

先看**:

integer a = new

integer(1);

integer a2 = new

integer(1);

integer c = 1;

integer c2 = 1;

int d = 1;

integer e = 128;

integer e1 = 128;

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

system.out.println(c==c2);//true

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

system.out.println(c==d);//true

system.out.println(e==e1);//false

==比較原則:

1. 有new關鍵字時,一定是開闢乙個新的記憶體,所以a==a2返回false

2. integer使用自動裝箱(integer i = 1)時,建立的物件的值在-128-127之間,使用了快取,如果兩個值相等時,位址必然是一樣的,所以c==c2返回true

3.自動裝箱與new建立出的物件不是同一片位址,所以a==c返回false

4. 引用型別與值型別想比較是必然是相等的所以c==d返回true

5. integer使用自動裝箱時,建立的物件超過127時,沒有使用快取,所有裝箱建立出的物件不相等。e==e1返回false

java之Integer知識整理

最近本人在看jdk源 的時候很有感觸,感嘆 是如此的精煉。就好比說這個最容易被忽視的integer。integer是對int 型別的封裝,這點大家都知道。今天我嘗試來分析其部分本人認為比較有意思的源 public static int highestonebit int i 解析 因為int型別是4...

java基礎之Integer類總結

integer類基本型別int的封裝類,是不可變類。該類提供了很多與int相互轉換的方法。int型別32位,因此它有最小值 2 31 2147483648 和最大值 2 31 1 2147483647 在integer類中有個內部類快取類 integer型別將8位的整數 128 127 看作是常用數...

java基礎之Integer包裝類

integer類概述 integer 類在物件中包裝了乙個基本型別 int 的值 該類提供了多個方法,能在 int 型別和 string 型別之間互相轉換,還提供了處理 int 型別時非常有用的其他一些常量和方法 構造方法 public integer int value public intege...