安全解析数字和语言环境
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(仍然不是线程安全的)。
链接地址: http://www.djcxy.com/p/11003.html