天天看點

Java基礎-基本資料類型包裝類

包裝類:将基本數值包裝成對象,并提供很多操作對象的方法。

基本資料類型 包裝類
byte Byte
char Character
int Integer
long Long
float Float
double Double
boolean Boolean
short Short

Integer:(繼承 number,實作comparable方法)

1. 方法和屬性:

MAX_VALUE:封裝int的最大值。

MIN_VALUE:封裝int的最小值。

toBinaryString(int i):将int類型以二進制傳回。

toHexString(int i):将int類型以十六進制傳回。

toOctalSting(int i):将int類型以八進制傳回。

parseInt(Stirng s):将字元串形式的數值轉換成十進制的數值。(同理 其他包裝類也有parseXXX(String s),隻有character沒有)。

parseInt(String s ,2):将二進制的字元串s轉換成十進制

parseInt(String s ,16):将十六進制的字元串s轉換成十進制

parseInt(String s ,8):将八進制的字元串s轉換成十進制

2. 基本資料類型轉換成包裝類

1. Integer i1 = new Integer(4);

2. Integer i2 = new Integer("4");

3. Integer i3 = Integer.value(4)(傳回 new Integer(4));

3. 包裝類轉換基本資料類型

int num = i.intValue();

4. 自動拆裝箱(jdk 1.5後)

自動裝箱

Integer i = 4 ;(内部源碼:Integer.valueof(4))

自動拆箱

i = i + 5; (原理:等會右邊将對象轉換為基本數值 i.intValue() + 5,等号左邊加法運算後,再次裝箱)

5.面試題

Integer a = new Interger(4);

Integer b = new Interger(4);

System.out.println(a==b);false

System.out.println(a.equals(b));ture

Integer a = 127;

Integer b = 127;

System.out.println(a==b);ture

System.out.println(a.equals(b));ture

Integer a = 128;

Integer b = 128;

System.out.println(a==b);flase

System.out.println(a.equals(b));ture

總結:jdk1.5裝箱時如果數值在byte範圍内,不會建立新的的對象空間,而是使用原來已有的記憶體空間 。