Java 程序将字符串转换为 int
要在 Java 中将字符串转换为 int,我们可以使用两个内置方法,即 parseInt() 和 valueOf()。这些静态方法属于 java.lang 包的 Integer 类,如果字符串不是整数的有效表示,则会抛出 NumberFormatException。在 Java 中,String 是"java.lang"包中的一个类,用于存储用双引号括起来的一系列字符。并且,整数是一种存储数值的原始数据类型。在本文中,我们将讨论几个 Java 程序,说明如何将给定的字符串转换为整数。
将字符串转换为 int 的 Java 程序
如前所述,我们将使用以下方法将字符串转换为整数 -
Integer.parseInt()
Integer.valueOf()
让我们借助示例程序逐一讨论这些方法。
使用 Integer.parseInt()
Integer.parseInt() 方法将字符串作为参数并将其解析为原始整数值。
语法
Integer.parseInt(String val);
示例
以下 Java 程序演示如何使用 parseInt() 方法将字符串转换为 int。
方法
初始化将转换为整数的字符串。
接下来,使用 getClass() 和 getSimpleName() 方法检查并打印定义字符串的类型。
现在,使用 parseInt() 方法将字符串转换为整数,并将结果存储在整数变量中。
最后,检查并打印数据类型以确认字符串是否转换为整数。
public class Example1 { public static void main( String args[] ) { // 初始化字符串 String inputString = "99999"; // 检查字符串的数据类型 System.out.print("输入字符串的类型: "); System.out.println(inputString.getClass().getSimpleName()); // 将字符串转换为整数 int newVal = Integer.parseInt(inputString); // 打印结果 System.out.println("转换为整数后的给定字符串: " + newVal); // 检查整数的数据类型 System.out.print("转换为整数后的给定字符串的类型: "); System.out.println(((Object)newVal).getClass().getSimpleName()); } }
输出
输入字符串的类型:字符串 转换为整数后的给定字符串:99999 转换为整数后的给定字符串的类型:整数
使用 Integer.valueOf()
Integer.valueOf() 方法可以将字符串、字符或整数作为参数,但返回一个包含解析整数值的整数对象。
语法
Integer.valueOf(String val);
示例 1
这是另一个 Java 程序,它将展示如何借助 Integer.valueOf() 方法将字符串转换为整数。
public class Example2 { public static void main( String args[] ) { // 初始化字符串 String inputString = "30072023"; // 检查字符串的数据类型 System.out.print("输入字符串的类型: "); System.out.println(inputString.getClass().getSimpleName()); // 将字符串转换为整数 int newVal = Integer.valueOf(inputString); // 打印结果 System.out.println("转换为整数后的给定字符串: " + newVal); // 检查整数的数据类型 System.out.print("转换为整数后的给定字符串的类型: "); System.out.println(((Object)newVal).getClass().getSimpleName()); } }
输出
输入字符串的类型:字符串 转换为整数后的给定字符串:30072023 转换为整数后的给定字符串的类型:整数
示例 2
之前我们提到,如果传递的字符串不是整数的有效表示,parseInt() 和 valueOf() 方法将抛出 NumberFormatException。在此 Java 程序中,我们将传递一个包含字母字符而不是数字字符的字符串来显示异常。
public class Example3 { public static void main( String args[] ) { // 初始化字符串 String inputString = "TutorialsPoint"; // 将字符串转换为整数 int newVal = Integer.valueOf(inputString); // 将引发异常 // 打印结果 System.out.println("给定的字符串转换为整数后: " + newVal); } }
输出
Exception in thread "main" java.lang.NumberFormatException: For input string: "TutorialsPoint" at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67) at java.base/java.lang.Integer.parseInt(Integer.java:665) at java.base/java.lang.Integer.valueOf(Integer.java:992) at Example3.main(Example3.java:6)
结论
Integer.parseInt() 和 Integer.valueOf() 都是将字符串转换为整数的非常有用的方法。但是,Integer.valueOf() 方法的性能明显快于 Integer.parseInt() 方法。我们讨论了三个 Java 程序来说明这些方法的实际实现。