gpt4 book ai didi

java - Lombok 中的@​​Delegate 和@Builder 组合

转载 作者:行者123 更新时间:2023-12-03 17:30:56 36 4
gpt4 key购买 nike

我有一个来自第三方 jar 的类 Acc.java 如下

@Data
public class Acc{

private String a;

private String b;

}

我在我的类中使用类 Acc,其中 Bcc.java 作为实例变量。我想使用 lombok 在 Bcc.java 中为 Acc 实例变量创建构建器。

我尝试了以下方式
@Data
@Builder
public class Bcc{

@Delegate
private Acc acc;
}

从上面的代码中,我看到 Bcc.builder().acc() 这是具有构建 Acc 对象的方法的构建器。

但我需要 Bcc.builder.a("").b("").build()。 “a”和“b”是 Acc.java 类的一部分。

有人可以帮我吗..?

最佳答案

我不认为 lombok 支持开箱即用。但这里有一些代码来支持这一点。

@Data
@Builder
public class Bcc {

@Delegate
private Acc acc;

public static class BccBuilder {

public Bcc.BccBuilder a(String a) {
if (this.acc == null) this.acc = new Acc();
this.acc.setA(a);
return this;
}

public Bcc.BccBuilder b(String b) {
if (this.acc == null) this.acc = new Acc();
this.acc.setB(b);
return this;
}
}
}

关于java - Lombok 中的@​​Delegate 和@Builder 组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54309139/

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