原文: Int to String in Java – How to Convert an Integer into a String

在 Java 中,你可以用不同的方法将变量从一种数据类型转换为另一种。

在这篇文章中,你将学习如何在 Java 中通过以下方式将整数转换成字符串:

  • 使用 Integer.toString() 方法
  • 使用 String.valueOf() 方法
  • 使用 String.format() 方法
  • 使用 DecimalFormat

如何在 Java 中使用 Integer.toString() 将整数转换成字符串

Integer.toString() 方法接收要转换的整数作为参数,语法如下:

Integer.toString(INTEGER_VARIABLE)

这是一个例子:

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        String AGE_AS_STRING = Integer.toString(age);
        
        System.out.println("The child is " + AGE_AS_STRING + " years old");
        // The child is 2 years old
    }
}

在上面的例子中,我们创建了一个整数——age——并给它赋值为 2。

为了将 age 变量转换为字符串,我们将其作为参数传递给 Integer.toString() 方法:Integer.toString(age)

我们将这个新的字符串值存储在一个名为 AGE_AS_STRING 的字符串变量中。

然后我们将新的字符串变量与其他字符串连接起来:"The child is " + AGE_AS_STRING + " years old"

但是,如果我们只是将年龄变量与这些其他字符串连接,而不进行任何形式的转换,是否会出现错误?

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        
        System.out.println("The child is " + age + " years old");
        // The child is 2 years old
    }
}

上面的输出与我们必须将整数转换为字符串的例子相同。

那么,我们如何知道类型转换是否真的成功了呢?

我们可以使用 Java 的 getClass() 对象来检查变量类型,即:

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        
        String AGE_AS_STRING = Integer.toString(age);
        
        
        System.out.println(((Object)age).getClass().getSimpleName());
        // Integer
        
        System.out.println(AGE_AS_STRING.getClass().getSimpleName());
        // String
    }
}

现在我们可以验证,当 age 变量被创建时,它是一个 Integer,经过类型转换,它变成了一个 String

如何在 Java 中使用 String.valueOf() 将一个整数转换成一个字符串

String.valueOf() 方法也以要转换为字符串的变量为参数。

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        
        String AGE_AS_STRING = String.valueOf(age);
        
        System.out.println("The child is " + AGE_AS_STRING + " years old");
        // The child is 2 years old
    }
}

上面的代码与上一节的代码类似:

  • 我们创建了一个名为 age 的整数。
  • 我们把 age 整数作为参数传给 String.valueOf() 方法:String.valueOf(age)

你也可以使用 getClass() 对象来检查类型转换是否成功:

System.out.println(((Object)age).getClass().getSimpleName());
// Integer
        
System.out.println(AGE_AS_STRING.getClass().getSimpleName());
// String

如何在 Java 中使用 String.format() 将整数转换为字符串

String.format() 方法接收两个参数:一个格式指定器和要格式化的变量。

下面是一个例子:

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        
        String AGE_AS_STRING = String.format("%d", age);
        
        System.out.println("The child is " + AGE_AS_STRING + " years old");
        // The child is 2 years old
        
    }
}

在上面的例子中,我们向 String.format() 方法传入了两个参数:"%d"age

"%d" 是一个格式指定符,表示要被格式化的变量是一个整数。

age 是第二个参数,将被转换为字符串并存储在 AGE_AS_STRING 变量中。

你也可以检查转换前后的变量类型:

System.out.println(((Object)age).getClass().getSimpleName());
// Integer
        
System.out.println(AGE_AS_STRING.getClass().getSimpleName());
// String

如何在 Java 中使用 DecimalFormat 将整数转换成字符串

DecimalFormat 类用于在 Java 中格式化十进制数字。你可以用不同的方式来使用它,我们将用它来把一个整数转换为一个字符串。

下面是一个例子:

import java.text.DecimalFormat;

class IntToStr {
    public static void main(String[] args) {
        
        int age = 2;
        
        DecimalFormat DFormat = new DecimalFormat("#");
        
        
        String AGE_AS_STRING = DFormat.format(age);
        
        System.out.println("The child is " + AGE_AS_STRING + " years old");
        // The child is 2 years old
        
        
        System.out.println(((Object)age).getClass().getSimpleName());
        // Integer
        
        System.out.println(AGE_AS_STRING.getClass().getSimpleName());
        // String
        
    }
}

让我们把代码分解一下:

  • 为了能够在上面的例子中使用 DecimalFormat 类,我们导入了它:import java.text.DecimalFormat;
  • 我们创建了整数的 age 变量。
  • 然后我们创建了一个名为 DFormatDecimalFormat 类的新对象。
  • 使用该对象的 format() 方法,我们将 age 转换为字符串:DFormat.format(age);

小结

在这篇文章中,我们谈到了在 Java 中把整数转换为字符串。

我们看到的例子显示了如何使用三种不同的方法——Integer.toString()String.valueOf()String.format()——和 DecimalFormat 类来将变量从整数转换成字符串。

每个例子都显示了如何在转换前后检查变量的数据类型。

Happy coding!