2

我看到了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,而后者不会。只是想知道为什么需要这两种非常相似的方法。提前致谢。

4

1 回答 1

4

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

于 2013-08-26T10:44:39.170 回答