Java 程序实现原始类型与对象互转

要理解此示例,您应该具备以下 Java 编程的知识:

示例 1:将原始类型转换为包装对象

public class Main {
  public static void main(String[] args) {

    // create primitive types
    int var1 = 5;
    double var2 = 5.65;
    boolean var3 = true;

    //converts into wrapper objects
    Integer obj1 = Integer.valueOf(var1);
    Double obj2 = Double.valueOf(var2);
    Boolean obj3 = Boolean.valueOf(var3);

    // checks if obj are objects of
    // corresponding wrapper class
    if(obj1 instanceof Integer) {
      System.out.println("An object of Integer is created.");
    }

    if(obj2 instanceof Double) {
      System.out.println("An object of Double is created.");
    }

    if(obj3 instanceof Boolean) {
      System.out.println("An object of Boolean is created.");
    }
  }
}

输出

An object of Integer is created.
An object of Double is created.
An object of Boolean is created.

在上面的例子中,我们已经创建了原始类型 intdouble ,和 boolean 的变量。在这里,我们使用了 包装器类( IntegerDouble 、 和 Boolean )的 valueOf() 方法将原始类型转换为对象。

要了解 Java 中的包装类,请访问 Java 包装类

示例 2:将包装对象转换为原始类型

public class Main {
  public static void main(String[] args) {

    // creates objects of wrapper class
    Integer obj1 = Integer.valueOf(23);
    Double obj2 = Double.valueOf(5.55);
    Boolean obj3 = Boolean.valueOf(true);

    // converts into primitive types
    int var1 = obj1.intValue();
    double var2 = obj2.doubleValue();
    boolean var3 = obj3.booleanValue();

    // print the primitive values
    System.out.println("The value of int variable: " + var1);
    System.out.println("The value of double variable: " + var2);
    System.out.println("The value of boolean variable: " + var3);
  }
}

输出

The value of int variable: 23
The value of double variable: 5.55
The value of boolean variable: true

在上面的例子中,我们创建了包装器类(IntegerDouble、 和 Boolean)的对象。

然后,我们分别使用 intValue()doubleValue()booleanValue() 方法得到对应的原始类型( intdouble,和 boolean 使用)。

注意:Java 编译器会自动将原始类型转换为相应的对象,反之亦然。此过程称为自动装箱和拆箱。要了解更多信息,请访问Java 自动装箱和拆箱