将字符串解析为数值

字符串到基本数字类型或数字包装类型:

每个数字包装类都提供了一个 parseXxx 方法,它将 String 转换为相应的基本类型。以下代码使用 Integer.parseInt 方法将 String 转换为 int

String string = "59";
int primitive = Integer.parseInteger(string);

要将 String 转换为数字包装类的实例,你可以使用包装类 valueOf 方法的重载:

String string = "59";
Integer wrapper = Integer.valueOf(string);

或依靠自动装箱(Java 5 及更高版本):

String string = "59";
Integer wrapper = Integer.parseInteger(string);  // 'int' result is autoboxed

以上模式适用于 byteshortintlongfloatdouble 以及相应的包装类(ByteShortIntegerLongFloatDouble)。

使用基数的字符串到整数:

String integerAsString = "0101"; // binary representation
int parseInt = Integer.parseInt(integerAsString,2);
Integer valueOfInteger = Integer.valueOf(integerAsString,2);
System.out.println(valueOfInteger); // prints 5 
System.out.println(parseInt); // prints 5 

例外

如果为不是可接受的数字表示的字符串调用数字 valueOf(String)parseXxx(...) 方法,或者表示超出范围的值,则将抛出未经检查的 NumberFormatException 异常。