常见java空指针异常NPE
总述
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相关推荐
- 常见java空指针异常
1. 例如,后端需要3个参数,而前端只传来了2个参数,这时就会空指针,所以要检查前端传的参数和后端接收的参数是否匹配. 2. Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象 ...
- java空指针异常 代码案例_java空指针异常:java.lang.NullPointException
一.什么是java空指针异常 我们都知道java是没有指针的,这里说的"java指针"指的就是java的引用,我们不在这里讨论叫指针究竟合不合适,而只是针对这个异常本身进行分析.空 ...
- 「面试必备」常见Java面试题大综合 马云见了都点赞
一.Java基础 1.Arrays.sort实现原理和Collections.sort实现原理 答:Collections.sort方法底层会调用Arrays.sort方法,底层实现都是TimeSor ...
- 常见 Java 字节码 指令 助记符
转自: 常见java字节码 有时候为了能理解JVM对程序所做的优化等,需要查看程序的字节码,因此知道了解一些常见的指令集很重要! 指令码 助记符 说明 0x00 nop 什么都不做 0x01 acon ...
- 常见Java错误的十大列表(前100名!)
前10名名单非常受欢迎,有趣且内容丰富. 但是有很多! 如何选择合适的? 这是一个元前10名列表,可帮助您找到前10名的前10名列表. 在更令人讨厌的笔记上: SELECT TOP 10 mistak ...
- 常见 Java 异常解释(恶搞版)
常见 Java 异常解释(恶搞版) 参考文章: (1)常见 Java 异常解释(恶搞版) (2)https://www.cnblogs.com/ECJTUACM-873284962/p/7491789 ...
- java web空指针,java - Web服务中的Java空指针异常@autowired [重复] - 堆栈内存溢出
错误:domain.SpeakerRecog.test上的java.lang.NullPointerException SpeakerMapper为null, speakermapper.insert ...
- Java空指针异常:java.lang.NullPointException
Java空指针异常:java.lang.NullPointException 参考文章: (1)Java空指针异常:java.lang.NullPointException (2)https://ww ...
- java空指针异常是什么、怎么发生、如何处理
java空指针异常是什么.怎么发生.如何处理 文章目录 java空指针异常是什么.怎么发生.如何处理 空指针是什么 空指针怎么发生 空指针怎么处理 如果看到本文,请立即右上角,因为写完之后发现有问题. ...
最新文章
- Centos 上部署jeecms注意1
- 教你从0到1搭建秒杀系统-抢购接口隐藏与单用户限制频率
- hibernate 模糊查询及not in子查询
- 涨姿势了,raise...from... 是个什么操作?
- 剑指offer_01
- 36.母板的介绍与使用
- struts2(2012/2/24)
- vue获取路径参数和请求参数
- filter动态参数 maven_多环境下Maven项目的管理
- Android应用文本字体设置
- Iframe的allow属性生效时机
- 留在一线城市还是回老家?一个8年北漂的4点思考
- python编程大赛队名_同行——团队展示
- SpringBoot 文件上传 基于MD5 文件内容校验工具类
- 我有好的东西和大家一起分享
- 照片别放在手机相册了!跟我学,放这4处地方安全又不占手机内存
- 华为技术有限公司总裁任正非
- Delphi BPL包的运用
- 读书笔记--Neural Networks and Deep Learning(CH1)
- 4.人工神经网络(一些例题)