为什么Double.parseDouble(null)和Integer.parseInt(null)抛出不同的异常?
这是历史性事故还是故意的?该文档明确指出了的两种类型的异常Double.parseDouble(...)
和的一种类型Integer.parseInt()
,但似乎不一致:
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
然而
Double.parseDouble(null); // throws java.lang.NullPointerException
检查各个方法的源代码,似乎只是一个不一致。
—
NilsH
parseDouble
不会执行null检查,只会在遇到NPE时抛出NPE,但是在中parseInt
,则检查输入字符串null
。我看不出它们应该表现出什么不同的充分理由。
我检查了它们是否抛出了sameNumberFormatException。
—
twlkyao '16
double
原始docs.oracle.com/javase/tutorial/java/nutsandbolts/...