如何在Java中将字符串转换为int
时间:2020-01-09 10:35:29 来源:igfitidea点击:
要将Java中的String转换为int,可以使用以下选项之一
- Integer.parseInt(String str)方法,将传递的String作为int返回。
- Integer.valueOf(String str)方法,该方法将传递的String作为Integer返回。
Java示例,使用Integer.parseInt()将String转换为int
public class StringToInt { public static void main(String[] args) { String str = "12"; try{ int num = Integer.parseInt(str); System.out.println("value - " + num); // can be used in arithmetic operations now System.out.println(num+"/3 = " + num/3); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); } } }
输出:
value - 12 12/3 = 4
Java示例,使用Integer.valueOf将String转换为int
public class StringToInt { public static void main(String[] args) { String str = "12"; try{ Integer num = Integer.valueOf(str); System.out.println("value - " + num); // can be used in arithmetic operations now System.out.println(num+"/3 = " + num/3); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); } } }
输出:
value - 12 12/3 = 4
在此示例中,我们可以看到valueOf()方法返回Integer对象,由于自动装箱,它可以直接用作int值。
NumberFormatException
在示例中,我们可以看到一个try-catch块,该块捕获NumberFormatException,如果传递了无效的数字字符串以将其转换为int则抛出该异常。
public class StringToInt { public static void main(String[] args) { String str = "123ab"; try{ Integer num = Integer.valueOf(str); System.out.println("value - " + num); // can be used in arithmetic operations now System.out.println(num+"/3 = " + num/3); }catch(NumberFormatException exp){ System.out.println("Error in conversion " + exp.getMessage()); throw exp; } } }
输出:
Error in conversion For input string: "123ab" Exception in thread "main" java.lang.NumberFormatException: For input string: "123ab" at java.lang.NumberFormatException.forInputString(Unknown Source) at java.lang.Integer.parseInt(Unknown Source) at java.lang.Integer.valueOf(Unknown Source) at com.theitroad.programs.StringToInt.main(StringToInt.java:8)