Lombok - @Builder导致初始化字段无效解决办法

简介: Lombok - @Builder导致初始化字段无效解决办法

当用@Builder注解时,类里面的初始化字段就无效,比如下面类中的totalAmt和lineNum字段就会置为null。

@BuilderpublicclassFileExport {
privateStringcharset;
privateString[] fields;
privateStringamtField;
privateBigDecimaltotalAmt=BigDecimal.ZERO;
privateAtomicLonglineNum=newAtomicLong();
privateStringdelimiter;
privatePrintWriterwriter;
}

对于这种情况,可以在需要保留默认值的字段上加上@Builder.Default注解解决。

@BuilderpublicclassFileExport {
privateStringcharset;
privateString[] fields;
privateStringamtField;
@Builder.DefaultprivateBigDecimaltotalAmt=BigDecimal.ZERO;
@Builder.DefaultprivateAtomicLonglineNum=newAtomicLong();
privateStringdelimiter;
privatePrintWriterwriter;
}

Tip:idea的lombok插件记得升级到最新的,否则不支持@Builder.Default。

目录
相关文章
|
2月前
|
Java 编译器
java“变量 x 可能未被初始化”解决
在Java中,如果编译器检测到变量可能在使用前未被初始化,会报“变量 x 可能未被初始化”的错误。解决方法包括:1. 在声明变量时直接初始化;2. 确保所有可能的执行路径都能对变量进行初始化。
276 2
|
1月前
|
Java
Java 静态变量的初始化顺序
【10月更文挑战第15天】了解 Java 静态变量的初始化顺序对于正确编写和维护代码至关重要。通过深入理解初始化顺序的原理和细节,我们可以更好地避免潜在的问题,并提高代码的质量和可靠性。
|
3月前
|
Java
lombok的使用
本文介绍了Lombok库的基本使用方法和常用注解,通过示例代码展示了如何使用Lombok简化Java对象的创建、属性访问、日志记录等编码工作,使代码更加简洁。
lombok的使用
|
2月前
|
Java 编译器
【一步一步了解Java系列】:子类继承以及代码块的初始化
【一步一步了解Java系列】:子类继承以及代码块的初始化
143 3
|
2月前
|
Java
java构造方法时对象初始化,实例化,参数赋值
java构造方法时对象初始化,实例化,参数赋值
86 1
|
3月前
|
安全 Java 编译器
java访问字段
java访问字段
31 6
|
3月前
|
安全 Java 编译器
java访问类字段
java访问类字段
|
3月前
|
IDE Java 编译器
lombok编译遇到“找不到符号的问题”
【9月更文挑战第18天】当使用 Lombok 遇到 “找不到符号” 的问题时,可能是由于 Lombok 未正确安装、编译器不支持、IDE 配置不当或项目构建工具配置错误。解决方法包括确认 Lombok 安装、编译器支持,配置 IDE 和检查构建工具配置。通过这些步骤通常可解决问题,若问题仍存在,建议检查项目配置和依赖,或查看日志获取更多信息。
1514 2
|
4月前
|
安全 Java 关系型数据库
Java连接Mysql SSL初始化失败
Java连接Mysql SSL初始化失败
|
4月前
|
存储 Java
如何在 Java 中初始化二维 ArrayList
【8月更文挑战第23天】
101 1