要在使用 lombok 的 @Builder 注解生成链式调用构建器的同时保留泛型参数 T,可以按照以下步骤进行操作:

  1. 在 bean 类上添加 @Builder 注解,并设置 builderClassName 属性为 'Builder',以便生成一个名为 Builder 的内部静态类作为构建器。
@Builder(builderClassName = "Builder")
public class MyBean<T> {
    private T data;
    // other fields and methods
}
  1. 在构建器类上使用 @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);
    }
}
  1. 在构建器类中为泛型参数 T 添加 setter 方法,以便链式调用时设置泛型参数的值。
public Builder<T> data(T data) {
    this.data = data;
    return this;
}
  1. 使用构建器创建 bean 对象时,可以保留泛型参数 T。
MyBean<String> bean = MyBean.<String>builder()
                        .data("example")
                        .build();

通过上述步骤,可以在使用 lombok 的 @Builder 注解生成链式调用构建器的同时保留 bean 的泛型参数 T。


原文地址: https://www.cveoy.top/t/topic/p5Px 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录