gpt4 book ai didi

java - 使用 lombok 构建器时覆盖默认值

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:11:29 24 4
gpt4 key购买 nike

我正在使用 lombok 的生成器。为我尝试使用的一些变量分配默认值

@Builder.Default

但问题是,在使用上述注释时,我不再能够通过构建器初始化该值,因为编译器在尝试通过构建器初始化变量时说无法解析方法。

所以,基本上我正在寻找的是一种设置默认值的方法,并且在通过构建器启动时仍然能够覆盖。

最佳答案

我的团队一直在努力解决此注释无法在某些 IDE 中工作的问题。我们的解决方法是使用 @Builder 注释定义一个构造函数,如果没有给出值,它会设置默认值。例如:

public class ExampleClass {

private final OtherClass otherClassField;

@Builder
public ExampleClass(OtherClass otherClass) {
// if otherClass is null, use a default value
otherClassField = otherClass != null ? otherClass : new OtherClass();
}
}

请注意,如果您的类具有原始类型字段,则您需要为构造函数参数使用原始包装类型,以便能够继续使用 null 值来指示下降回到默认值。

您还可以将构造函数访问级别更改为private,以允许此类的实例只能使用构建器创建。

关于java - 使用 lombok 构建器时覆盖默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44248011/

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