Java中如何实现将字符串转换为整数的函数?
在Java中,将字符串转换为整数主要有以下三种方法:
1. 使用Integer.parseInt()方法
Integer.parseInt()方法可以将一个字符串解析成整数并返回。该方法有两种重载形式,一种是只有一个参数的parseint(),另一种是有两个参数的parseint(str, radix)。
参数str是要被解析的字符串,参数radix是表示解析的进制,取值为2~36之间的任意整数。如果不在这个范围内,则会抛出一个IllegalArgumentException异常。如果字符串中的字符不符合指定进制,则会抛出一个NumberFormatException异常。
示例代码:
String str = "123";
int i = Integer.parseInt(str);
System.out.println(i);
2. 使用Integer.valueOf()方法
Integer.valueOf()方法也能将字符串解析成整数并返回。它返回的是包装类型的Integer对象。方法的参数和parseInt()方法相同。
示例代码:
String str = "123";
Integer i = Integer.valueOf(str);
System.out.println(i);
3. 使用Scanner.nextInt()方法
Scanner.nextInt()方法用来获取从标准输入流中读取的整数值。它也可以从字符串中解析整数,并返回解析的值。如果字符串中不是整数,则会抛出InputMismatchException异常。
示例代码:
String str = "123";
Scanner scanner = new Scanner(str);
int i = scanner.nextInt();
System.out.println(i);
需要注意的是,第三种方法需要创建Scanner对象,可能会增加额外的开销。而且如果字符串中包含非数字字符,则会抛出异常,需要进行额外的处理。
总结:
在Java中,将字符串转换为整数主要有Integer.parseInt()和Integer.valueOf()两个方法。如果要从字符串中获取整数值,也可以使用Scanner.nextInt()方法。要注意的是,如果字符串中包含非数字字符,需要进行额外的处理。
