Java开发笔记之Lombok使用@Data出现空指针NullPointerException

0x00 概述

在代码运行过程中,使用lombok的@Data处报错NullPointerException空指针异常。

 

0x01 问题表现

代码在IDEA中运行没问题,结果显示正常;

但是在打jar包后,运行就会空指针异常,报错如下:

Exception in thread "main" java.lang.NullPointerException

根据报错日志,定位到具体类的@Data代码处,该类由于排名需要,重写了compareTo方法,进行了排序计算;

 

0x02 解决过程

经搜索后这是Lombok使用@Data的一个大坑,详细见Lombok使用@Data的大坑,空指针错误;

复制代码
/**
原因是:

@Data注解中有默认toString方法的重写,展示数据时,默认调用get方法的方式。

所以当你的get方法中有计算或者调用时,而你的属性值是null,就会报错。

代码中未对传入对象和数据进行判断是否null,当传参为null走get方法时,出错了。

所以应该在传参或者类实例化时候进行过滤,对null值进行排除
*/
复制代码

按照方法2解决后,发现jar包运行还是继续报NullPointerException空指针异常,错误日志没有变化;

检查代码后发现,代码逻辑中仍有部分代码未进行null值排除,逐一进行更正,再次打jar包后,运行正常。

posted @   时光飞逝,逝者如斯  阅读(950)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2019-05-15 Linux学习笔记之tail命令显示最后n行
2019-05-15 ELK学习笔记之使用curl命令操作elasticsearch
点击右上角即可分享
微信分享提示