Сопоставьте поток из четырех элементов с объектом с помощью конструктора с четырьмя аргументами.JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Сопоставьте поток из четырех элементов с объектом с помощью конструктора с четырьмя аргументами.

Сообщение Anonymous »

Я столкнулся с проблемой: я хочу сопоставить четыре элемента Stream с конструктором записи Data:

Код: Выделить всё

record Data(String firstname, String middlename, String lastname, String zip) {}

Function4 constructor = Data::new;
List data = Stream.of("chris", "p", "bacon", "black")
.map(constructor)
.collect(Collectors.toList())
Я нашел соответствующую функцию высшего порядка (

Код: Выделить всё

Function4
из vavr), чтобы описать этот конструктор как минимум с четырьмя параметрами. Но я не могу понять, как его использовать в этом случае.
Примечание: чего я пытаюсь избежать, так это создания коллекции из четырех элементов и передачи их " вручную":

Код: Выделить всё

List data = rowData.stream()
.map(row -> new Data(row.get(0), row.get(1), row.get(2), row.get(3))).toList();
Я думаю, что это невозможно сделать в Java, потому что в какой-то момент потока мне нужно создать тип с арностью параметра 4.


Подробнее здесь: https://stackoverflow.com/questions/705 ... onstructor
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»