空指针异常是什么意思?

这里我们首先要明确什么是指针,指针指的是什么?

指针:指针存放的是内存地址

那什么是空?
       举个例子:小明过生日,小华送给了小明一个“礼物”,这个“礼物”只有一个外面的包装但是里面什么都没有,这个礼物就是"",而空则是小华压根没有给小华准备礼物,这个就是null。

空指针:所以当指针不指向任何内存地址时,就叫做空指针,例如:int[] array = null

那么什么叫做空指针异常呢?
       就是一个指针不指向任何内存地址,但是你还调用他了,例如:

int[] array = null;
System.out.println(array[0]);

这个时候原本array数组是个空指针,没有创建新的对象,在调用这个数组的时候就会产生空指针异常的错误!
程序运行会显示Exception in thread "main" java.lang.NullPointerException的异常提示

为什么会产生空指针异常呢?

这里我们用上面举的例子进行说明,int[] array = null在内存中的栈内存中创建了一个叫做array的变量,而堆内存中并没有开辟int类型的数组空间,所以在栈内存中的这个array变量没有存放任何内存地址,由此我们可以理解为什么会产生空指针异常,调用没有的东西显然时不可以的。

java中什么是空指针异常以及为什么会产生空指针异常相关推荐

  1. java避免空指针异常_避免Java中的空指针异常

    java避免空指针异常 空指针异常是Java中最常见,最烦人的异常. 在这篇文章中,我想避免这种不希望的异常. 首先让我们创建引发空指针异常的示例 private Boolean isFinished ...

  2. 避免Java中的空指针异常

    空指针异常是Java中最常见,最烦人的异常. 在这篇文章中,我想避免这种不希望的异常. 首先让我们创建引发空指针异常的示例 private Boolean isFinished(String stat ...

  3. Java中如何处理空指针异常

    程序中的变量是 null,就意味着它没有引用指向或者说没有指针.这时,我们对这个变量进行任何操作,都必然会引发空指针异常,本文主要介绍了Java中怎样处理空指针异常,感兴趣的可以了解一下 程序中的变量 ...

  4. Java中的空指针异常

    Java中的空指针异常 一.什么是空指针异常? 1.1 异常的分类 NullPointerException是RuntimeException的一个子类,这是运行时异常,在编译时期不会触发. 1.2 ...

  5. java中什么是空指针异常

    空指针异常是什么意思?        这里我们首先要明确什么是指针,指针指的是什么? 指针:指针存放的是内存地址 那什么是空?        举个例子:小明过生日,小华送给了小明一个"礼物& ...

  6. java中什么是空指针异常_JAVA中的空指针异常如何处理?

    你这个问题的解决 问题定位: 在堆栈异常信息的第一行就可以定位到是哪里出了空指针,倘若这里不是你写的类,可以往下翻一下,找到你写的类,就是这里出现的空指针. 问题解决: 对一个空对象调用里面的方法或者 ...

  7. java中如何避免空指针异常

    Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键.熟话说"预防胜于治疗",对于这么令人讨厌的空指针异常,这句话也是成立的.值得庆幸的是运用一 ...

  8. java中容易产生空指针异常:NullPointerException的场景

    java中空指针异常:NullPointerException出现的根本原因是在null对象上调用方法或属性了. java中容易产生空指针异常:NullPointerException的场景,总结如下 ...

  9. Java中equals方法造成空指针异常的原因及解决方案

    前言 博主最近在做一个项目的调试工作,期间遇到了一个会导致抛出空指针异常的小问题,说它是小问题,是因为真的只是在写代码的时候注意一下就好了,但是这里还要写一个博客,就是为了剖析这个问题,然后给自己做个 ...

最新文章

  1. JVM监控及诊断工具-命令行篇一
  2. STC89C52RC内部EEPROM编程
  3. PHP类的静态(static)方法和静态(static)变量使用介绍
  4. 【算法精讲】分享一道很不错的算法题
  5. 阿里测试人员:8年经验分享自学软件测试学习路线
  6. 超效率dea matlab,求高人帮忙关于超效率DEA模型编程
  7. ems 的条形码生成PHP JS,thinkphp5 Barcodegen 生成条形码
  8. 十进制转十二进制-复试练习
  9. 英语播客列表opml_Hanselminutes播客Feed列表
  10. TD幅度预测、幅度膨胀突破、TD通道
  11. 教你怎么用Mono Cecil - 动态注入 (注意代码的注释)
  12. 江湖之事(一)之WPS office 与 MS office 第一篇
  13. C语言将0xea转换为字符ea,eA第10章 c语言程序设计初步.ppt
  14. 计算机视觉实战的深度学习实战二:图像预处理
  15. MISRA-C那些事儿
  16. mysql聚合函数bit_and,聚合函数
  17. pgadmin4|解决pgadmin4的sql备份文件路径无法创建的问题
  18. 求逆和共轭转置为什么能够交换
  19. 【OpenGL学习】光照贴图
  20. 数控开料机的常见故障、故障判断方法和解决方案

热门文章

  1. 批量修改DNS记录的TTL值
  2. 有符号数和无符号数,无符号数的减法
  3. 2020李宏毅机器学习笔记-Anomaly Detection
  4. counter-reset
  5. 计算机技术考研科目大纲,2017计算机考研大纲:计算机大纲文字完整版
  6. 【CS231n】五、卷积神经网络简介CNN学习笔记_一只神秘的大金毛_新浪博客
  7. linux系列之-磁盘空间不足怎么办,磁盘清理方法
  8. 程序员老了怎么办?做什么好?
  9. 路由器可以当交换机用吗
  10. 【时序】基于 TCN 的用于序列建模的通用卷积和循环网络的经验评估