Ayy*_*lvi 2 java exception nullpointerexception
文档说有两种类型的例外Double.parseDouble(),一种用于Integer.parseInt(),但似乎不一致:
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
Double.parseDouble(null); // throws java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)
你是对的:这是不一致的.移动,没有什么可看的... ;-) JDK库非常大,随着时间的推移而增长,并且有各种不一致性.我不得不承认这一点让我感到惊讶,我觉得有必要仔细检查你的断言和实际行为(如果它与文档不同):http://ideone.com/18W8W8)但我们走了.
正如JB 指出的那样,对于不一致的根本原因的一个线索可能是Integer.parseInt从一开始就在JDK中,但是Double.parseDouble在1.2中添加了.因此,或许考虑更具体地解决这两个问题之间的问题.
因此,如果没有代码,我不会让我用上面的链接发布答案,所以:
try {
Integer.parseInt(null); // throws java.lang.NumberFormatException: null
}
catch (Exception e) {
System.out.println("Integer: " + e.getClass().getName());
}
try {
Double.parseDouble(null); // throws java.lang.NullPointerException
}
catch (Exception e) {
System.out.println("Double: " + e.getClass().getName());
}
Run Code Online (Sandbox Code Playgroud)
输出:
Integer: java.lang.NumberFormatException Double: java.lang.NullPointerException
| 归档时间: |
|
| 查看次数: |
734 次 |
| 最近记录: |