Я хочу преобразовать с ModelMapper a List<>
в List<T>
, зная точное java.lang.Class
из T
. Но ModelMapper сохраняет только создание экземпляра общего родительского класса T ...
для вашего контекста: я хочу преобразовать список DTO в список Domain, но, как я делаю это в каждом извлеченном классе Serviceэто в общем абстрактном Сервисе.
public class BaseClass {}
public class SubClass1 extends BaseClass {}
public <T extends BaseClass> List<T> getList(Class<T> specificClass) {
...
Type listType = new TypeToken<List<T>>(){}.getType(); // here problem
List<T> responseList = modelMapper.map(listIAlreadyHave, listType);
return responseList;
}
List<SubClass1> list = doIt(SubClass1.class);
Вдохновение здесь
Я бы хотел, чтобы список был списком SubClass1
экземпляров, но я получаю только BaseClass
экземпляры. Я не виню Java за то, что он не понимает мое определение listType
, потому что T неизвестно во время выполнения, но как я могу использовать параметр specificClass
, который я щедро предоставляю?
Спасибо, уважаемое сообщество!