我喜欢String to Int in java - Likely bad data, need to avoid exceptions中的建议来实现解析int的实用程序方法,但如果无法解析字符串,则返回默认值。
public static int parseInt(String s, int defaultValue) {
if (s == null) return defaultValue;
try {
return Integer.parseInt(s);
} catch (NumberFormatException x) {
return defaultValue;
}
}
是否存在一个现有的开源库(例如来自apache commons,或google),它实现了这个以及其他数据类型,如boolean,float,double,long等?
答案 0 :(得分:13)
Apache Commons Lang使用方便的转换方法org.apache.commons.lang3.math.NumberUtils
。换句话说,如果出现错误,您可以指定默认值。 e.g。
NumberUtils.toLong("") => 0L
NumberUtils.toLong(null, 1L) => 1L
NumberUtils.toByte(null) => 0
NumberUtils.toByte("1", 0) => 1
答案 1 :(得分:8)
Guava有几个tryParse
方法在失败的解析上返回null,例如Ints.tryParse,Floats.tryParse等