安全地分析数字,并对区域设置敏感



Java的NumberFormat是1)非线程安全的(可以使用ThreadLocal解决);2) 对于最简单的用例,当我知道字符串应该包含int、long还是double,并且想要像这样的API时,很难正确使用

int parseInt(String str, Locale locale) throws ParseException; 
int parseInt(String str, int defaultValue, Locale locale);
long parseLong(String str, Locale locale) throws ParseException;
long parseLong(String str, long defaultValue, Locale locale);
double parseDouble(String str, Locale locale) throws ParseException;
double parseDouble(String str, double defaultValue, Locale locale);

其中,当字符串未完全解析时抛出异常。显然,这样的包装器很容易写,但我在Guava或Apache Commons Lang中找不到。我错过了吗?或者有其他或多或少的标准解决方案吗?

我发现的一个选项是Apache Commons Validator(仍然是非线程安全的)。

相关内容

  • 没有找到相关文章

最新更新