Java 创建包装类的不同方式
为了封装或表示对象中的原始数据类型,Java提供了包装类的概念。所有八个包装类如下:Double、Float、Long、Integer、Short、Byte、Character和Boolean。这些类具有各种内置方法,允许我们将原始数据类型整合到它们各自的实例中,以及将实例分解为它们各自的原始数据类型。本文旨在解释创建包装类实例的不同方法。
创建包装类实例
在Java中有以下几种方法可以创建包装类的实例:
使用构造函数
虽然我们可以使用包装类的构造函数创建实例,但这种方法已经被弃用并标记为即将移除,不建议使用。原因是每当我们使用构造函数创建一个实例时,堆中都会分配一个新的内存空间。这与包装类实例的不可变性相矛盾。
语法
nameOfClass nameOfObject = new nameOfClass( value );
以下是翻译结果:
在这里,value是将存储在构造函数中的元素
实例
Integer val1 = new Integer(540);
借助类名
我们还可以在不使用new关键字或构造函数的情况下创建包装器类的实例。这种方法也被称为自动装箱,因为Java编译器会自动将基本类型转换为相应的类。这种创建实例的方式与声明和初始化基本数据类型的方式相同。
语法
nameOfClass nameOfObject = value;
示例
下面的示例演示了使用包装类的名称创建实例。
import java.util.*;
public class Wrapp {
public static void main(String args[]) {
Integer val1 = 540;
Double val2 = 66.456;
Character val3 = 'T';
Boolean val4 = true;
Float val5 = 12.1f;
System.out.println("The value of wrapper class instances are: ");
System.out.println(val1 + ", " + val2 + ", " + val3 + ", " + val4 + "," + val5);
}
}
输出
The value of wrapper class instances are:
540, 66.456, T, true, 12.1
使用valueOf方法
这是一个静态方法,根据需要使用一个或两个参数,将基本类型封装成相应的包装类对象。
语法
nameOfClass nameOfObject = nameOfClass.valueOf( value );
示例
以下示例演示了使用包装器类名称创建实例的过程。
import java.util.*;
public class Wrapp {
public static void main(String args[]) {
Integer val1 = 540;
Double val2 = 66.456;
Character val3 = 'T';
Boolean val4 = true;
Float val5 = 12.1f;
System.out.println("The value of wrapper class instances are: ");
System.out.println(val1 + ", " + val2 + ", " + val3 + ", " + val4 + ", " + val5);
}
}
输出
The value of wrapper class instances are:
540, 66.456, T, true, 12.1
结论
我们通过定义包装类及其类型来开始本文。在下一节中,我们讨论了创建包装类实例的三种方法。使用构造函数创建实例被自JDK 9版本起已弃用。因此,我们使用自动装箱或valueOf方法来创建实例。