Преобразовать поток в строку ... (3 точки) - PullRequest
3 голосов
/ 07 февраля 2020

Как преобразовать поток в строку ... (3 точки) У меня есть метод mapToSomeObj(String... args) Как передать объект Stream в метод mapToSomeObj. Когда я передаю Obj.stream().map(a->a.getVal()).toArray(), я получаю [string1, string2]

1 Ответ

3 голосов
/ 07 февраля 2020

3 точки означают объявление Vararg , которое компилируется в массив, что делает подпись метода mapToSomeObj(String...) такой же, как подпись mapToSomeObj(String[]).

Если a.getVal() возвращает String, ваш подход должен работать:

String[] arr = Obj.stream().map(a::getVal).toArray(String[]::new);
mapToSomeObj(arr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...