为什么在NumberFormat中需要以下两种方法?

时间:2013-08-26 10:42:18

标签: java parsing number-formatting

我发现NumberFormat有两种非常相似的方法:

1)

abstract Number     parse(String source, ParsePosition parsePosition)
  

如果可能,返回Long(例如,在[Long.MIN_VALUE,   Long.MAX_VALUE]并且没有小数),否则为Double。

2)

Object  parseObject(String source, ParsePosition pos)
  

解析字符串中的文本以生成数字。

parse(s,ParseIndex)存在的情况下,需要parseObject(..)需要投射到所需的输出? 我知道第一种方法抛出ParseException而后者则不抛出。 只是想知道为什么需要这两种非常相似的方法。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

关于JDK的最常见的抱怨之一是为什么Integer.parseInt和类似的方法不能用于验证字符串而不涉及昂贵的异常机制。 NumberFormat似乎通过提供一种可以通过返回null来表示失败的方法来回答该投诉。