将字符串解析为数值
字符串到基本数字类型或数字包装类型:
每个数字包装类都提供了一个 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
以上模式适用于 byte
,short
,int
,long
,float
和 double
以及相应的包装类(Byte
,Short
,Integer
,Long
,Float
和 Double
)。
使用基数的字符串到整数:
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 异常。