Java 字符串转换为整数

在 Java 中有两种方法将字符串转换为整数,

  1. 使用 Integer.parseInt() 将字符串转换为整数
  2. 使用 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"