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包后,运行正常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2019-05-15 Linux学习笔记之tail命令显示最后n行
2019-05-15 ELK学习笔记之使用curl命令操作elasticsearch