我正在使用以下代码。第一行是java.lang.NumberFormatException
,第二行是java.lang.NullPointerException
。我无法弄清楚原因。
int intValue =Integer.parseInt(null);
Double double1 = Double.parseDouble(null);
答案 0 :(得分:11)
因为这是如何实施的,
int intValue =Integer.parseInt(null);
如果我们查看parseInt实现,如果输入字符串是NumberFormatException
null
Double double1 = Double.parseDouble(null);
在parseDouble(String s)
方法中,还有另一种方法调用,即FloatingDecimal.readJavaFormatString(s).doubleValue();
在readJavaFormatString(s)
方法中,正好引发了NullPointerException
FloatingDecimal.readJavaFormatString(s)
方法
答案 1 :(得分:0)
这是两个函数在各个类中实现的方式。
parseInt 方法验证参数:
if (s == null) {
throw new NumberFormatException("null");
}
parseDecimal 方法首先在输入字符串参数上调用trim:
in = in.trim(); // throws NullPointerException if null