如何将字符串转换为基础数据类型
我们一般用parse方法,例如 Integer.parseInt
举个简单的例子:
得到的结果:
但是它是不安全的,毕竟每一次都抛出异常(下边是源码)
public static int parseInt(String s) throws NumberFormatException {
return parseInt(s,10);
}
上异常代码看一下
那我们应该怎么做呢?
Apache lang NumberUtils(就是介个小工具类)
//依赖
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.10</version>
</dependency>
看一下源码是怎么写的
public static int toInt(String str, int defaultValue) {
if (str == null) {
return defaultValue;
} else {
try {
return Integer.parseInt(str);
} catch (NumberFormatException var3) {
return defaultValue;
}
}
}
非常贴心的帮我们判断,补货异常信息,返回我们传入的默认值(真香,我们再来测试一下之前发生错误的转换)
这次的话没有报错,程序正常执行并输出(不传默认值程序会自动给你返回0)