当前位置:  开发笔记 > 编程语言 > 正文

Java:为什么NullPointerExceptions不是NullReferenceExceptions?

如何解决《Java:为什么NullPointerExceptions不是NullReferenceExceptions?》经验,为你挑选了1个好方法。

这是疏忽吗?或者它与JVM有关?



1> David Citron..:

Java确实有指针 - 指针,你不能执行指针运算.

来自古老的JLS:

Java编程语言中有两种类型:基本类型(第4.2节)和引用类型(第4.3节).相应地,有两种数据值可以存储在变量中,作为参数传递,由方法返回,并在以下操作:原始值(§4.2)和参考值(§4.3).

而后来:

一个对象是一个类的实例阵列.

引用值(通常只是引用)是指向这些对象的指针,以及一个特殊的空引用,它指的是没有对象.

(强调他们的)

所以,要解释一下,如果你写:

Object myObj = new Object();

然后myObj是一个引用类型,它包含一个引用值,该引用值本身就是一个指向新创建的引用值Object.

因此,如果设置myObjnull您正在设置参考值(也称为指针)null.因此,当取消引用变量时,会合理地抛出NullPointerException.

别担心:这个话题以前一直在热烈讨论.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有