Java NumberFormat是1)非线程安全的(可以使用a 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);
Run Code Online (Sandbox Code Playgroud)
字符串未完全解析时抛出异常的位置.显然,这样的包装器很容易编写,但我在Guava或Apache Commons Lang中找不到.我错过了吗?或者是否有其他或多或少的标准解决方案?