Динамическое преобразование списка <Object>в список <T>в Java - PullRequest
0 голосов
/ 17 мая 2018

У меня есть функция, как показано ниже:

public Event convertModelToEvent(List<Object> reportingObject,String Feedname) {
        Event event = new Event();

        event.setHeaderReference(new HeaderReference());
        Class<?> classType = Class.forName(Feedname);

        List<classType> mythings = (List<classType>) (Object) reportingObject;

        event.setPayload(new Payload(reportingObject));
        event.setSpecifications(Lists.newArrayList());

        return event;
    }

В параметре метода Feedname есть не что иное, как имя класса, теперь я хочу преобразовать это

List<Object> to List<Feedname>

Фидом может быть любое имя класса.

Может кто-нибудь предложить, что еще я могу с ним сделать.

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Если Feedname может быть любого класса, в лучшем случае вы можете построить List<?>.Вы можете сделать это:

List<?> mythings = reportingObject.stream()
    .map(classType::cast)
    .collect (Collectors.toList())
0 голосов
/ 17 мая 2018

Я не вижу, чтобы это происходило во время кастинга.Вы должны перебирать коллекцию объектов, передавая ссылки в коллекцию T. Может быть вы можете использовать List.addAll (Список списка);Я не настроен на тестирование в моей IDE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...