Что значит :: знак в java? [дубликат]

170
03 ноября 2018, 08:40

На данный вопрос уже ответили:

  • Что значит оператор ::? 1 ответ

Часто вижу :: при определении нового экземпляра, в стримах, иногда в лямда выражениях. Что он значит? Что значит List :: stream?

P.S. И как он называется?

Answer 1

Оператор "ссылка на метод" (Method Reference). По сути - сокращенная запись для ссылки на метод из функционального интерфейса при использовании лямбды.

List::stream

является ссылкой на метод stream() из интерфейса List

List<List<Integer>> list = Arrays.asList(
    Arrays.asList(1,2,3),
    Arrays.asList(4,5,6)
);
list.steam()
       .flatMap(List::stream)
       .forEach(System.out::println);

приведенный отрывок кода означает: 1. Мы инициализируем поток, в котором будет список чисел (Stream<List<Integer>>) 2. с помощью flatMap мы объединяем список чисел в поток чисел (Stream<Integer>) 3. с помощью forEach и ссылки на метод println для каждого элемента из потока вызывается вывод на экран

Если владеете английским, хорошее объяснение с примерами приведено в этом ответе

READ ALSO
получить полный URL

получить полный URL

подскажите пожалуйста как получит откуда был запрос, те

189
СSS как сделать такие ссылки?

СSS как сделать такие ссылки?

Как c помощью СSS сделать такие ссылки? Нужно чтобы при наведении курсором они были оранжевыми с белыми символами, а без курсора с серыми с черными...

218
Яндекс.Карты: как отобразить Circle поверх меток?

Яндекс.Карты: как отобразить Circle поверх меток?

Метки загружаются в ObjectManager, затем ObjectManager добавляется к MapgeoObject, после этого туда же добавляются два Circle

169
React js Запрет ввода пробела

React js Запрет ввода пробела

Подскажите как в поле input можно запретить ввод пробела первым символом? Так же не совсем понимаю, как запретить ввод не более одного пробела...

217