给定纯数字字符串类型数据如何转换为int类型,这里以字符串 “9527” 为例子进行转换!
方式一、
使用Integer 的 parseInt方式进行转换:
String str=”9527″;
int foo =Integer.parseInt(str);
// 此转换会引发 NumberFormatException 异常可以进行catch处理,改造后代码如下:
String str=”9527″;
int foo;
try{
foo =Integer.parseInt(str);
}catch(NumberFormatException e){
// 出现异常返回: 0
foo =0;
}
方式二、
使用Integer 的 valueOf方式进行转换:
String str=”9527″;
int foo =Integer.valueOf(str);
valueOf 与 parseInt之间略有不同,区别如下:
方式三、
使用Google的 Guava 库,代码如下:
import com.google.common.primitives.Ints;
String str=”9527″;
int foo =Optional.ofNullable(str)
.map(Ints::tryParse)
.orElse(0)
使用此方法尝试转换,成功返回具体的值,失败返回0
方式四、
使用commons-lang3提供的方法,代码如下:
String str=”9527″;
int foo1 =NumberUtils.toInt(str)
// defaultValue 是转换失败时的默认值
int foo2 =NumberUtils.toInt(str, defaultValue)
方式五、
其他方式,代码如下:
String str=”9527″;
int foo1 = Integer.decode(str);
int foo2 = Integer.parseUnsignedInt(str);
你这4种转换方式)