自動封箱和拆箱

2022-04-12 01:46:35 字數 1006 閱讀 5471

integer 中

public static integer valueof(int i)

如果沒有設定integercache.high的值,預設為127,也就是說值在-128~127之間,返回的都是同乙個物件。

integerf1 =100,f2 =100,f3 =150,f4 =150;

system.out.println(f1 ==f2);

system.out.println(f3 ==f4);

輸出結果是:

true

false

long、byte、short同理。

boolean中

publicstaticbooleanvalueof(boolean b)

character中

public

static character valueof(char

c)

return

newcharacter(c);

}

double中

publicstaticdoublevalueof(doubled)

對於任何的duoble型別的資料,每次都是從新裝箱,生乙個新的物件;float型別同理。

publicstaticvoidmain(stringargs)

輸出結果:

true

false

true

true

true

false

true

true

封箱和拆箱

1 封箱 是把值型別轉換為system.object型別 引用型別 或者轉換為值型別實現的介面型別。注 引用型別和值型別見 2 2 拆箱 是將引用型別轉換為值型別。經典 int i 5 object obj i 封箱 int j int obj 拆箱 1 值型別 值型別在記憶體的同乙個地方儲存它們自...

Interger拆箱和封箱

自動裝包 基本型別自動轉為包裝型別.int integer 自動拆包 包裝型別自動轉為基本型別.integer int 裝箱原始碼邏輯 128 127返回 interger cache中的值 public static integer valueof int i demo interger的裝箱和拆...

裝箱和拆箱,自動裝箱和自動拆箱

以integer的建立為例。裝箱 把基本資料型別轉換成包裝類物件 int integer integer num1 new integer 17 拆箱 把乙個包裝類的物件,轉換成基本型別的變數 integer int int num2 num1.intvalue 自動裝箱 integer num3 ...