如何在 Java 9 中的 JShell 中创建包装器对象?

javaobject oriented programmingprogramming更新于 2025/10/25 5:32:17

Java 中的每个原始类型都有一个对应的内置包装器类,并且这些包装器类也是不可变的。Integer、Float、Double、Byte等是一些内置包装器类。在我们的代码中使用此类包装器的主要动机是访问相应原始类型的类型信息、自动装箱功能(其中原始数据自动提升为对象引用类型)以及在数据结构周围移动原始类型数据。

我们可以使用new运算符创建包装器类的实例,也可以在Integer等类型中使用valueOf()方法创建包装器对象。Integer.valueOf()方法将重用堆上具有相同值的现有Integer对象。如果堆中存在具有相同值的对象,它将返回对现有对象的引用,否则返回新创建的 Integer 对象的引用。

在下面的代码片段中,我们可以在 JShell 工具中创建包装器对象。

Snippet-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

Snippet-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

相关文章


有用资源