原文: 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!