Lombok Builder 链式调用:如何保留 Bean 的泛型参数 T
要在使用 lombok 的 @Builder 注解生成链式调用构建器的同时保留泛型参数 T,可以按照以下步骤进行操作:
- 在 bean 类上添加 @Builder 注解,并设置 builderClassName 属性为 'Builder',以便生成一个名为 Builder 的内部静态类作为构建器。
@Builder(builderClassName = "Builder")
public class MyBean<T> {
private T data;
// other fields and methods
}
- 在构建器类上使用 @Accessors(chain = true) 注解,以启用链式调用。
@Accessors(chain = true)
public static class Builder<T> {
private T data;
// other fields and methods
public MyBean<T> build() {
return new MyBean<>(data);
}
}
- 在构建器类中为泛型参数 T 添加 setter 方法,以便链式调用时设置泛型参数的值。
public Builder<T> data(T data) {
this.data = data;
return this;
}
- 使用构建器创建 bean 对象时,可以保留泛型参数 T。
MyBean<String> bean = MyBean.<String>builder()
.data("example")
.build();
通过上述步骤,可以在使用 lombok 的 @Builder 注解生成链式调用构建器的同时保留 bean 的泛型参数 T。
原文地址: https://www.cveoy.top/t/topic/p5Px 著作权归作者所有。请勿转载和采集!