Java 类型转换

在本教程中,我们将通过示例学习 Java 类型转换。

在本教程中,我们将通过示例学习 Java 类型转换。

在您了解类型转换之前,请先了解 Java 数据类型

类型转换

数据由一种类型转换到另一种数据类型的过程称为类型转换。比如从原始类型 int 转换成 Integer 类型,从子类型转换到父类型,从父类型转换到子类型等。

在 Java 中,有 13 种类型转换。但是,在本教程中,我们将只关注主要的 2 种类型:

  1. 转换为更大的类型
  2. 转换为更小的类型

要了解其他类型的类型转换,请访问官方 Java 文档:Java Type Conversion

转换为更大的类型

Java 自动完成类型从更小的类型转换为更大的类型。

示例:将 int 转换为 double

public class Main {
  public static void main(String[] args) {
    int num = 10;
    System.out.println("The integer value: " + num);

    double data = num;
    System.out.println("The double value: " + data);
  }
}

输出

The integer value: 10
The double value: 10.0

在上面的例子中,我们将名为 numint 类型变量分配给名为 datadouble 类型变量。这个过程中的类型转换是自动完成的。

在转换为更大的类型的情况下,较低的数据类型(具有较小的尺寸)被转换为较高的数据类型(具有较大的尺寸)。因此没有数据丢失。因此可以自动完成。

这也称为隐式类型转换

转换为更小的类型

在转换为更小的类型时,我们必须强制进行数据转换。

示例:将 double 转换为 int

public class Main {
  public static void main(String[] args) {
    double num = 10.99;
    System.out.println("The double value: " + num);

    int data = (int) num;
    System.out.println("The integer value: " + data);
  }
}

输出

The double value: 10.99
The integer value: 10

注意在上面的例子中的注意这行代码:

int data = (int) num;

这里,括号内的 int 关键字表示强制转换为 int 类型。

在转换为更小的类型时,较高的数据类型(具有较大的尺寸)被转换为较低的数据类型(具有较小的尺寸)。因此存在数据丢失。因此要手动强制转换。

这也称为显式类型转换

让我们看看 Java 中其他类型转换的一些示例。

示例 1:从 int 到 String 的类型转换

public class Main {
  public static void main(String[] args) {
    int num = 10;
    System.out.println("The integer value is: " + num);

    String data = String.valueOf(num);
    System.out.println("The string value is: " + data);
  }
}

输出

The integer value is: 10
The string value is: 10

在上面的程序中,注意这一行

String data = String.valueOf(num);

在这里,我们使用了 Java StringvalueOf() 方法将 int 类型变量数据转换为字符串。

示例 2:从 String 到 int 的类型转换

public class Main {
  public static void main(String[] args) {
    String data = "10";
    System.out.println("The string value is: " + data);

    int num = Integer.parseInt(data);
    System.out.println("The integer value is: " + num);
  }
}

输出

The string value is: 10
The integer value is: 10

在上面的例子中,注意这一行

int num = Integer.parseInt(data);

在这里,我们使用了 Java Integer 类的 parseInt() 方法将数据从字符串类型转换为 int 类型。

注意:如果无法将字符串变量转换为整数变量,则会抛出 NumberFormatException 异常。