为什么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
parseDouble
不进行空值检查,当遇到空值时会抛出 NPE,但在parseInt
中,输入字符串会被检查是否为空。我看不出它们应该表现不同的任何好理由。 - NilsH