7
Java的NumberFormat
是1)非线程安全的(可以用ThreadLocal
解决); 2)inconvenient to use correctly对于最简单的用例时,我知道该字符串是否应包含的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中找到。我错过了吗?或者还有另一个或多或少的标准解决方案?
'Integer.parseInt'和弟兄们的问题是什么? – 2012-07-21 12:33:13
我想它不支持不同的数字格式? – 2012-07-21 12:36:29
@MarkoTopolnik他们是独立于语言环境的,所以不要使用正确的小数点分隔符等。 – 2012-07-21 12:38:12