gpt4 book ai didi

java - 如何在 Lombok 构建器中的构造函数之后运行代码

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:36 24 4
gpt4 key购买 nike

我有一个要使用 Lombok.Builder 的类,我需要对一些参数进行预处理。像这样:

@Builder
public class Foo {
public String val1;
public int val2;
public List<String> listValues;

public void init(){
// do some checks with the values.
}
}

通常我只会在 NoArg 构造函数上调用 init(),但是对于生成的构建器我无法这样做。有没有办法让生成的构建器调用这个 init ?例如 build() 会生成如下代码:

public Foo build() {
Foo foo = Foo(params....)
foo.init();
return foo;
}

我知道我可以手动编写 all args 构造函数,Builder 将通过它调用我可以在其中调用 init

但这是一个次优的解决方案,因为我的类(class)可能每隔一段时间就会添加新的字段,这意味着也要更改构造函数。

最佳答案

Foo 中,您可以手动添加一个构造函数,让它进行初始化,然后将 @Builder 放在构造函数上。我知道您已经知道这一点,但我认为这是正确的解决方案,并且您不会忘记添加参数,因为无论如何您确实想在构建器中使用代码。

披露:我是 lombok 开发者。

关于java - 如何在 Lombok 构建器中的构造函数之后运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37968696/

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