Java 如何将代码转换为泛型方法-Object.class

Java 如何将代码转换为泛型方法-Object.class,java,oop,generics,Java,Oop,Generics,我想将实体转换为数据访问对象,但不想为每个实体创建一个方法。如何将代码转换为泛型方法,并使用泛型返回Entity和paramObjectDTO private ConcreteEntity convertToEntity(ConcreteObjectDTO objectDTO) throws ParseException { ConcreteEntity entity = modelMapper.map(objectDTO, ConcreteEntity.class); retu

我想将实体转换为数据访问对象,但不想为每个实体创建一个方法。如何将代码转换为泛型方法,并使用泛型返回
Entity
和param
ObjectDTO

private ConcreteEntity convertToEntity(ConcreteObjectDTO objectDTO) throws ParseException {
    ConcreteEntity entity = modelMapper.map(objectDTO, ConcreteEntity.class);
    return entity;
}
我编写了以下代码,但我不知道如何处理
Entity.class

private <Entity, ObjectDTO> Entity convertToEntity(ObjectDTO objectDTO) throws ParseException {
    Entity entity = modelMapper.map(objectDTO, Entity.class);
    return entity;
}
私有实体convertToEntity(ObjectDTO到ObjectDTO)引发异常{
实体=modelMapper.map(objectDTO,Entity.class);
返回实体;
}

您的方法需要将
实例作为参数,以便将正确的类转发到
modelMapper.map()
。这意味着
,其中
E扩展实体
。注意,给泛型类型指定一个字母名称是惯例

类似地,
ObjectDTO
也应泛化为
O扩展ObjectDTO
或等效物

private <O extends ObjectDTO, E extends Entity> E convertToEntity(O objectDTO, Class<E> entityClass) throws ParseException {
    return modelMapper.map(objectDTO, entityClass);
}
private E convertToEntity(O objectDTO,类entityClass)引发ParseException异常{
返回modelMapper.map(objectDTO,entityClass);
}
您可以跳过DTO参数的泛化。可能没有必要

private <E extends Entity> E convertToEntity(ObjectDTO objectDTO, Class<E> entityClass) throws ParseException {
    return modelMapper.map(objectDTO, entityClass);
}
private E convertToEntity(ObjectDTO到ObjectDTO,类entityClass)引发ParseException{
返回modelMapper.map(objectDTO,entityClass);
}