Java将字符串解析为数值

示例

字符串为原始数字类型或数字包装器类型:

每个数字包装器类都提供一种parseXxx将a转换String为对应的原始类型的方法。下面的代码转换一个String一个来int使用Integer.parseInt的方法:

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'结果自动装箱

上述模式适用于byte,short,int,long,float和double和相应的包装类(Byte,Short,Integer,Long,Float和Double)。

使用基数将字符串转换为整数:

String integerAsString = "0101"; // 二进制表示
int parseInt = Integer.parseInt(integerAsString,2);
Integer valueOfInteger = Integer.valueOf(integerAsString,2);
System.out.println(valueOfInteger); // 版画5 
System.out.println(parseInt); // 版画5

例外情况

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