4

我希望下面的代码会抛出 ParseException,但它是“2”,任何人都可以解释这一点,或者这是 java 实现中的错误吗?我在最新的 Oracle (1.7.0_05) 和 osx jvms 上运行它。

    try {
        NumberFormat format = NumberFormat.getInstance(Locale.US);
        Number number = format.parse("2 3");
        System.out.println(number);
    } catch (ParseException e) {
        System.out.println("2 3 is not a valid number!");
    }
4

2 回答 2

2

这是因为NumberFormat.parse(String)可能不会使用整个文本进行解析。见这里

于 2012-06-24T18:05:54.920 回答
1

这是预期的结果。

根据文档, NumberFormat.parse 不一定使用整个字符串。

Java 编程规则#1:始终阅读文档!

于 2012-06-24T18:09:48.847 回答