Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 隐式指定生成的生成器的类型_Java_Generics_Builder_Lombok - Fatal编程技术网

Java 隐式指定生成的生成器的类型

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

在创建asbract工厂时,我遇到了需要在代码的不同部分填充对象的问题。将函数的参数传递给构建器以实现这一点。“我的生成器”由Lombok注释自动生成@builder

@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);
有可能实施吗?如果是,我应该使用的技术名称是什么?我使用了泛型,但我不确定这是否适合它们