我喜欢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

07-27 15:07