Java 库有 parseInt、parseLong、parseDouble 等接受默认值并且不抛出异常吗?

2024-05-17

我喜欢中的建议java中的String到Int - 可能是坏数据,需要避免异常 https://stackoverflow.com/questions/174502/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)可以实现此功能以及其他数据类型(例如布尔值、浮点值、双精度值、长整型等)?


阿帕奇通用语言 http://commons.apache.org/proper/commons-lang/有课org.apache.commons.lang3.math.NumberUtils http://commons.apache.org/proper/commons-lang//apidocs/org/apache/commons/lang3/math/NumberUtils.html具有方便的转换方法。另一种方式是,如果出现错误,您可以指定默认值。例如

NumberUtils.toLong("")         => 0L
NumberUtils.toLong(null, 1L)   => 1L

NumberUtils.toByte(null)       => 0
NumberUtils.toByte("1", 0)     => 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java 库有 parseInt、parseLong、parseDouble 等接受默认值并且不抛出异常吗? 的相关文章

随机推荐