如何在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
廣告