Java 程序:原始类型与对象相互转换

要理解此示例,您应了解以下Java编程主题


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

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.

在上面的示例中,我们创建了原始类型的变量intdoubleboolean)。这里,我们使用包装器类(IntegerDoubleBoolean)的 valueOf() 方法将原始类型转换为对象。

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


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

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

在上面的示例中,我们创建了包装器类(IntegerDoubleBoolean)的对象。

然后,我们分别使用 intValue()doubleValue()booleanValue() 方法将这些对象更改为相应的原始类型(intdoubleboolean)。

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战