どちらアンダースコア:numberクラスのvalueOf/parseメソッドがJava 7の有効な数値を拒否するのはなぜですか?
scala> java.lang.Float.valueOf("1_2_3.4_5_6")
java.lang.NumberFormatException: For input string: "1_2_3.4_5_6"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1242)
at java.lang.Float.valueOf(Float.java:416)
もバイナリリテラル仕事:
scala> java.lang.Byte.valueOf("0b01010101")
java.lang.NumberFormatException: For input string: "0b01010101"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Byte.parseByte(Byte.java:148)
at java.lang.Byte.valueOf(Byte.java:204)
at java.lang.Byte.valueOf(Byte.java:230)
これらのメソッドは、Java言語の変更のために更新されなかった理由は何ですか?
(私は実際にはOpenJDKの64ビットサーバーVM、Javaの1.7.0_136-のIcedTeaで働いています。)
それは正しい議論であるかどうか疑問に思います。 Java 7のJava言語仕様は更新されておらず、実際にはリリース2週間前です。 – soc
@soc私は、あなたがAPIによって指定された以上のものを期待するべきではないと主張します。 – Atreys