7

Java's NumberFormat is 1) non thread-safe (which can be worked around with a ThreadLocal); 2) inconvenient to use correctly for the simplest use case when I know whether the string should contain int, long, or double, and want an API like:

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);

where the exception is thrown when the string isn't completely parsed. Obviously, such a wrapper is easy to write, but I couldn't find one in Guava or Apache Commons Lang. Did I just miss it? Or is there another more-or-less standard solution for this?

Alexey Romanov
  • 167,066
  • 35
  • 309
  • 487

1 Answers1

3

One option I've found is Apache Commons Validator (still non-thread-safe).

Alexey Romanov
  • 167,066
  • 35
  • 309
  • 487