总述

NPE(NullPointerException)

  • 方法的返回值可以为null,不强制返回空集合,或者空对象等,必须添加注释充分说明什么情况下会返回 null 值。
  • 防止NPE是调用者的责任:返回空集合或空对象仍然可能在“远程调用失败、序列化失败、运行时异常”时返回null
  • 防止NPE:包装类为null,集合元素为null,级联调用,数据库查询结果,远程调用返回对象,session中对象
  • 来自阿里巴巴java开发手册泰山版

创建数组对象,元素为null

public class BucketSort {private static class Node {private int key;private int next;public Node() {}public Node(int key, int next) {this.key = key;this.next = next;}public int getKey() {return key;}public void setKey(int key) {this.key = key;}public int getNext() {return next;}public void setNext(int next) {this.next = next;}}public static void main(String[] args) {// 创建数组对象,只是分配了空间Node[] nodes = new Node[n];for (int i = 0; i < n; i++) {// 抛出 NPEnodes[i].key = r[i];nodes[i].next = i + 1;}}
}

包装类为null,自动拆箱报错

 private static int testIntegerNull() {Integer integer = null;return integer;}public static void main(String[] args) {testIntegerNull();}

集合元素为null

 private static void testCollectionElementNull() {String str = null;List<String> list = new ArrayList<>();list.add(str);if (!list.isEmpty()) {System.out.println(list.get(0).equals("xcrj"));}}public static void main(String[] args) {testCollectionElementNull();}

对象级联调用

// 建议使用Optional处理
obj.getA().getB().getC()

常见java空指针异常NPE相关推荐

  1. 常见java空指针异常

    1. 例如,后端需要3个参数,而前端只传来了2个参数,这时就会空指针,所以要检查前端传的参数和后端接收的参数是否匹配. 2. Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象 ...

  2. java空指针异常 代码案例_java空指针异常:java.lang.NullPointException

    一.什么是java空指针异常 我们都知道java是没有指针的,这里说的"java指针"指的就是java的引用,我们不在这里讨论叫指针究竟合不合适,而只是针对这个异常本身进行分析.空 ...

  3. 「面试必备」常见Java面试题大综合 马云见了都点赞

    一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理 答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSor ...

  4. 常见 Java 字节码 指令 助记符

    转自: 常见java字节码 有时候为了能理解JVM对程序所做的优化等,需要查看程序的字节码,因此知道了解一些常见的指令集很重要! 指令码 助记符 说明 0x00 nop 什么都不做 0x01 acon ...

  5. 常见Java错误的十大列表(前100名!)

    前10名名单非常受欢迎,有趣且内容丰富. 但是有很多! 如何选择合适的? 这是一个元前10名列表,可帮助您找到前10名的前10名列表. 在更令人讨厌的笔记上: SELECT TOP 10 mistak ...

  6. 常见 Java 异常解释(恶搞版)

    常见 Java 异常解释(恶搞版) 参考文章: (1)常见 Java 异常解释(恶搞版) (2)https://www.cnblogs.com/ECJTUACM-873284962/p/7491789 ...

  7. java web空指针,java - Web服务中的Java空指针异常@autowired [重复] - 堆栈内存溢出

    错误:domain.SpeakerRecog.test上的java.lang.NullPointerException SpeakerMapper为null, speakermapper.insert ...

  8. Java空指针异常:java.lang.NullPointException

    Java空指针异常:java.lang.NullPointException 参考文章: (1)Java空指针异常:java.lang.NullPointException (2)https://ww ...

  9. java空指针异常是什么、怎么发生、如何处理

    java空指针异常是什么.怎么发生.如何处理 文章目录 java空指针异常是什么.怎么发生.如何处理 空指针是什么 空指针怎么发生 空指针怎么处理 如果看到本文,请立即右上角,因为写完之后发现有问题. ...

最新文章

  1. Centos 上部署jeecms注意1
  2. 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
  3. hibernate 模糊查询及not in子查询
  4. 涨姿势了,raise...from... 是个什么操作?
  5. 剑指offer_01
  6. 36.母板的介绍与使用
  7. struts2(2012/2/24)
  8. vue获取路径参数和请求参数
  9. filter动态参数 maven_多环境下Maven项目的管理
  10. Android应用文本字体设置
  11. Iframe的allow属性生效时机
  12. 留在一线城市还是回老家?一个8年北漂的4点思考
  13. python编程大赛队名_同行——团队展示
  14. SpringBoot 文件上传 基于MD5 文件内容校验工具类
  15. 我有好的东西和大家一起分享
  16. 照片别放在手机相册了!跟我学,放这4处地方安全又不占手机内存
  17. 华为技术有限公司总裁任正非
  18. Delphi BPL包的运用
  19. 读书笔记--Neural Networks and Deep Learning(CH1)
  20. 4.人工神经网络(一些例题)

热门文章

  1. 2021-2027全球与中国聊天机器人生成器软件市场现状及未来发展趋势
  2. matplot画图处理
  3. 为什么xbox录屏按钮是灰色?
  4. 机器学习算法(十五):XGBoost
  5. EEGNet:一个小型的卷积神经网络,用于基于脑电的脑机接口
  6. VS 2010/2015 旗舰版 启动报错 Key Required
  7. Vue网页调用摄像头拍照
  8. 页面内嵌入iframe出现滚动条
  9. 什么是Microsoft SharePoint 2010
  10. 【体验贴】EOS_v2.0版官方教程