Java中的每个原始类型都有对应的内置包装类,这些包装类也是不可变的。Integer、Float、Double、Byte等都是一些内置的包装类。在我们的代码中使用这些包装类的主要动机是访问有关相应原始类型的类型信息、自动装箱特性,即将原始数据自动提升为对象引用类型,并在数据结构中移动原始类型数据。
我们可以使用new运算符创建包装类的实例,并且还可以在诸如Integer之类的类型中使用valueOf()方法创建包装对象。Integer.valueOf()方法将重用堆上具有相同值的现有Integer对象。如果堆中存在具有相同值的对象,则它将返回对现有对象的引用,否则返回对新创建的Integer对象的引用。
在下面的代码片段中,我们可以在JShell工具中创建包装对象。
<strong>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</strong>
<strong>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</strong>
The above is the detailed content of How to create wrapper object in JShell in Java 9?. For more information, please follow other related articles on the PHP Chinese website!