如何在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 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.