如何在Java 9的JShell中建立包裝器物件?


Java中的每個基本型別都有一個對應的內建包裝器類,這些包裝器類也是不可變的Integer、Float、Double、Byte等等都是一些內建的包裝器類。在程式碼中使用這些包裝器的主要原因是訪問對應基本型別的型別資訊自動裝箱功能(其中基本資料型別會自動提升為物件引用型別)以及在資料結構中移動基本資料型別資料。

我們可以使用new運算子建立包裝器類的例項,也可以使用諸如Integer之類的型別中的valueOf()方法來建立包裝器物件Integer.valueOf()方法將重用堆中具有相同值的現有Integer物件。如果堆中存在具有相同值的現有物件,則它將返回對現有物件的引用;否則,返回新建立的Integer物件的引用。

在下面的程式碼片段中,我們可以使用JShell工具建立包裝器物件。

程式碼片段1

jshell> Integer int1 = new Integer(10);
int1 ==> 10

jshell> Integer int2 = new Integer(10);
int2 ==> 10

jshell> Integer int3 = Integer.valueOf(10);
int3 ==> 10

jshell> Integer int4 = Integer.valueOf(10);
int4 ==> 10

jshell> int1 == int2;
$7 ==> true

jshell> int3 == int4;
$8 ==> true

程式碼片段2

jshell> Integer abc1 = Integer.valueOf(700);
abc1 ==> 700

jshell> Integer abc2 = 700;
abc2 ==> 700

jshell> Integer abc3 = 700;
abc3 ==> 700

jshell> abc2 == abc3
$4 ==> false

jshell> Integer.MAX_VALUE
$5 ==> 2147483647

jshell> Integer.MIN_VALUE
$6 ==> -2147483648

jshell> Integer.SIZE
$7 ==> 32

jshell> Integer.BYTES
$8 ==> 4

更新於:2020年4月24日

220 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告