什么是NullPointerException,我该如何解决?什么是空指针异常(java.lang.NullPointerException)以及它们的原因是什么?可以使用哪些方法/工具来确定原因,以便停止异常导致程序过早终止?
3 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
NullPointerException
s是当您尝试使用指向内存中没有位置的引用(null)时发生的异常,就好像它引用了一个对象一样。在空引用上调用方法或尝试访问空引用的字段将触发a NullPointerException
。这些是最常见的,但NullPointerException
javadoc页面上列出了其他方式。
可能是我能想出的最快的示例代码来说明NullPointerException
:
public class Example { public static void main(String[] args) { Object obj = null; obj.hashCode(); }}
在内线的第一行main
,我明确地将Object
引用设置为obj
等于null
。这意味着我有一个引用,但它没有指向任何对象。之后,我尝试将引用视为通过调用其上的方法指向对象。这导致a NullPointerException
因为没有代码在引用指向的位置执行。
(这是一个技术性问题,但我认为值得一提的是:指向null的引用与指向无效内存位置的C指针不同。空指针实际上并不指向任何位置,这与指向恰好无效的位置。)
添加回答
举报
0/150
提交
取消