Java 字符串转换为整数
在 Java 中有两种方法将字符串转换为整数,
- 使用
Integer.parseInt()
将字符串转换为整数 - 使用
Integer.valueOf()
将字符串转换为整数
假设你有一个字符串 strTest
,其中内容是一个整数数值。
String strTest = "100";
我们试着执行一些算术运算,例如除以 4,它会立即显示编译错误。
class StrConvert{
public static void main(String []args){
String strTest = "100";
System.out.println("Using String:" + (strTest/4));
}
}
输出:
/StrConvert.java:4: error: bad operand types for binary operator '/'
System.out.println("Using String:" + (strTest/4));
因此,在对其执行数值运算之前,需要将字符串转换为整型数据。
使用 Integer.parseInt()
将字符串转换为整型数据
parseInt
方法的语法如下:
int <IntVariableName> = Integer.parseInt(<StringVariableName>);
将字符串变量作为参数传递进去。
这会将 Java String 转换为 Java Integer 并将其存储到指定的整数变量中。
修改后的代码如下,
class StrConvert{
public static void main(String []args){
String strTest = "100";
int iTest = Integer.parseInt(strTest);
System.out.println("Actual String:"+ strTest);
System.out.println("Converted to Int:" + iTest);
//This will now show some arithmetic operation
System.out.println("Arithmetic Operation on Int: " + (iTest/4));
}
}
输出:
Actual String:100
Converted to Int:100
Arithmetic Operation on Int: 25
使用 Integer.valueOf()
将字符串转换为整数
Integer.valueOf()
方法还用于在 Java 中将字符串转换为整数。
以下是代码示例,显示了使用 Integer.valueOf()
方法的过程:
public class StrConvert{
public static void main(String []args){
String strTest = "100";
//Convert the String to Integer using Integer.valueOf
int iTest = Integer.valueOf(strTest);
System.out.println("Actual String:"+ strTest);
System.out.println("Converted to Int:" + iTest);
//This will now show some arithmetic operation
System.out.println("Arithmetic Operation on Int:" + (iTest/4));
}
}
输出:
Actual String:100
Converted to Int:100
Arithmetic Operation on Int:25
NumberFormatException
如果尝试解析无效的数字字符串,将会抛出 NumberFormatException
。例如,字符串 Test99
无法转换为整数。
例子:
public class StrConvert{
public static void main(String []args){
String strTest = "Tastones";
int iTest = Integer.valueOf(strTest);
System.out.println("Actual String:"+ strTest);
System.out.println("Converted to Int:" + iTest);
}
}
上面的示例在输出中给出以下异常:
Exception in thread "main" java.lang.NumberFormatException: For input string: "Tastones"