Double.parseDouble(null)とInteger.parseInt(null)が異なる例外をスローするのはなぜですか?
これは歴史的な事故ですか、それとも意図的な事故ですか?ドキュメントは明確のために、例外の2種類を述べてDouble.parseDouble(...)
とのための1つをInteger.parseInt()
、それは矛盾しているようです。
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
しかしながら
Double.parseDouble(null); // throws java.lang.NullPointerException
それぞれのメソッドのソースコードをチェックすると、ただの矛盾のようです。
—
NilsH 2013年
parseDouble
nullチェックを行わず、NPEが検出されたときにNPEをスローするだけですが、parseInt
では、入力文字列がについてチェックされnull
ます。彼らが違った振る舞いをするべきであるという正当な理由は見当たらない。
sameNumberFormatExceptionがスローされることを確認しました。
—
twlkyao 2016
double
プリミティブdocs.oracle.com/javase/tutorial/java/nutsandbolts/...