gpt4 book ai didi

intellij-idea - 将 lombok @Value、@NoArgsConstructor、@AllArgsConstructor 放在一起

转载 作者:行者123 更新时间:2023-12-05 03:52:19 24 4
gpt4 key购买 nike

我在类上使用 lombok 注释:

@Value
@NoArgsConstructor
@AllArgsConstructor
public class TestClass implements Serializable {

private String x;
private String y;
private String z;

}

我需要@Value,因为我希望字段是不可变的,而构造函数注解作为我正在使用的 ORM 框架,既需要无参数构造函数,也需要用于初始化字段的构造函数。

但是 IntelliJ 将此标记为错误,说明字段需要初始化,而我们有一个由 lombok 定义的 noarg 构造函数。

如何解决这个问题?

最佳答案

使用@Value,lombok 将所有字段标记为final,没有默认值,@NoArgsConstructor 将导致字段从未初始化,这就是 IntelliJ 提示的原因。

你可以配置lombok

lombok.noArgsConstructor.extraPrivate=true

因此,@NoArgsConstructor 将生成具有默认值的承包商。可以使用 @FieldDefaults 设置默认值。

查看文档: @Value @FieldDefaults

关于intellij-idea - 将 lombok @Value、@NoArgsConstructor、@AllArgsConstructor 放在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62300376/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com