Как получить тип класса с помощью отражения возвращаемого объекта? - PullRequest
0 голосов
/ 07 января 2020

Я хочу обобщить некоторый код, но застрял в проблеме, которую, я думаю, нужно решить с помощью отражения.

В моих методах обслуживания я преобразую из dto в entity и наоборот. Поэтому в каждом классе обслуживания есть метод, подобный этому

private LicenseDTO convertToDto(LicenseEntity entity) {
    LicenseDTO dto = modelMapper.map(entity, LicenseDTO.class);
    return dto;
}

Чтобы уменьшить дублирование, я переместил это в абстрактный класс, и там я хочу реализовать это. S - мой класс сущности, а T - мой. Modelmapper требует тип класса S, но как я могу извлечь это с помощью отражения?

    @SuppressWarnings("unchecked")
protected S convertToEntity(T dto){

    Class<S> typeOfS = null;
    typeOfS = (Class<S>) getClass();
    Method[] methods = typeOfS.getDeclaredMethods();


    return modelMapper.map(dto, typeOfS);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...