Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有接受默认值和don'的parseInt、parseLong、parseDouble等的Java库;t抛出异常?_Java_Parsing - Fatal编程技术网

具有接受默认值和don'的parseInt、parseLong、parseDouble等的Java库;t抛出异常?

具有接受默认值和don'的parseInt、parseLong、parseDouble等的Java库;t抛出异常?,java,parsing,Java,Parsing,我喜欢中的建议,即实现一个解析int的实用方法,但如果无法解析字符串,则返回一个默认值 public static int parseInt(String s, int defaultValue) { if (s == null) return defaultValue; try { return Integer.parseInt(s); } catch (NumberFormatException x) { return defau

我喜欢中的建议,即实现一个解析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等?

有几个
tryParse
方法,在解析失败时返回null,例如,etc

具有用于转换的方便方法的类。另一种方式是,如果出现错误,可以指定默认值。e、 g

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

NumberUtils.toByte(null)       => 0
NumberUtils.toByte("1", 0)     => 1

默认值
是保留字。另外,自己编写代码可能更容易。将示例更改为不使用保留字。虽然这些方法不会引发NumberFormatException,但应该注意,如果将null字符串传递给它们,它们将引发NullPointerException,而不仅仅是返回null。尽管它会毫无例外地进行解析,默认值可能不受欢迎。如果这是像我一样的情况,那么org.apache.commons.validator.routines.LongValidator.validate(字符串)也可以采用模式和/或区域设置。