我喜欢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等)的实现?
最佳答案
Apache Commons Lang的类 org.apache.commons.lang3.math.NumberUtils
具有方便的转换方法。换句话说,如果有错误,您可以指定默认值。例如
NumberUtils.toLong("") => 0L
NumberUtils.toLong(null, 1L) => 1L
NumberUtils.toByte(null) => 0
NumberUtils.toByte("1", 0) => 1