4

次のコードは ParseException をスローすると予想しますが、「2」です。誰かがこれを説明できますか、それとも Java 実装のバグですか? 最新の Oracle (1.7.0_05) および osx jvm で実行しています。

    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

それが期待される結果です。

documentationによると、 NumberFormat.parse は必ずしも文字列全体を使用するとは限りません。

Java プログラミングのルール 1: 常にドキュメントを読んでください。

于 2012-06-24T18:09:48.847 に答える