Java 隐式指定生成的生成器的类型
在创建asbract工厂时,我遇到了需要在代码的不同部分填充对象的问题。将函数的参数传递给构建器以实现这一点。“我的生成器”由Lombok注释自动生成@builder:Java 隐式指定生成的生成器的类型,java,generics,builder,lombok,Java,Generics,Builder,Lombok,在创建asbract工厂时,我遇到了需要在代码的不同部分填充对象的问题。将函数的参数传递给构建器以实现这一点。“我的生成器”由Lombok注释自动生成@builder: @Entity @Builder public class Product{ Field a; Field b; } 方法如下所示: processDataForFirstProduct(Data data, FirstProduct.FirstProductBuilder builder) { p
@Entity
@Builder
public class Product{
Field a;
Field b;
}
方法如下所示:
processDataForFirstProduct(Data data, FirstProduct.FirstProductBuilder builder) {
processA(data);
processB(data);
builder.a().b();
}
processDataForSecondProduct(Data data, SecondProduct.SecondProductBuilder builder) {
processC(data);
processD(data);
builder.c().d();
}
正如您所见,处理不同对象数据的方法可以从抽象方法继承,并且需要具有不同设置器集的构建器。因此,在特定的工厂方法实现中(如示例中),我想指出工厂的特定类型,在asbract方法本身中,我想声明一个隐式通用类型。理想方法签名:
abstract processDataForEntity(Data data, Entity.EntityBuilder builder);
有可能实施吗?如果是,我应该使用的技术名称是什么?我使用了泛型,但我不确定这是否适合它们