Добавить и преобразовать массив другого типа данных в список - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть массив CustomClass[] classes.Я хочу простой способ добавить его к List<String>, для этого мне нужно вызвать метод CustomClass#getName(), который возвращает String.

Вот как это, якобы, делается:

    for (CustomClass class : classes) {
        list.add(class.getName());
    }

Есть ли однострочный способ сделать это?

Ответы [ 2 ]

0 голосов
/ 30 ноября 2018

Для измененного вопроса, в основном, тот же ответ:

Arrays.stream(classes).map(clz -> clz.getName()).collect(Collectors.toList());
0 голосов
/ 30 ноября 2018

Как насчет использования Arrays.stream():

List<String> list = Arrays.stream(numbers)
                          .map(String::valueOf)
                          .collect(Collectors.toList());

, который будет транслировать Array, преобразовать его в String и затем собрать в List<String>


Или теперь, когда вы отредактировали свой вопрос, включив в него класс:

List<String> list = Arrays.stream(classes)
                          .map(Foo::getName)
                          .collect(Collectors.toList());

Предполагается, что ваш класс называется Foo и имеет getName метод

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