原文: 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变量。 - 然后我们创建了一个名为
DFormat的DecimalFormat类的新对象。 - 使用该对象的
format()方法,我们将age转换为字符串:DFormat.format(age);。
小结
在这篇文章中,我们谈到了在 Java 中把整数转换为字符串。
我们看到的例子显示了如何使用三种不同的方法——Integer.toString()、 String.valueOf()、String.format()——和 DecimalFormat 类来将变量从整数转换成字符串。
每个例子都显示了如何在转换前后检查变量的数据类型。
Happy coding!