Выражение System.out::println в Java относится к ссылке на метод. В частности, это относится к методу println объекта out класса System. Метод println используется для вывода сообщения на консоль и добавления в конце символа новой строки. Объект System.out является экземпляром класса PrintStream и предоставляет удобные методы для записи данных на консоль. Когда вы используете выражение ссылки на метод System.out::println, вы, по сути, создаете ссылку на метод println, которую затем можно передать как аргумент метода или сохранить в переменной. Хотя это может выглядеть как лямбда-выражение, это не совсем то же самое. Вот пример того, как использовать ссылку на этот метод в лямбда-выражении для печати значений массива: String[] names = {"Alice", "Bob", "Charlie"};
Arrays.stream(names).forEach(System.out::println); Это выведет: Alice Bob Charlie Метод forEach интерфейса Stream принимает лямбда-выражение, которое принимает элемент потока в качестве входных данных. В этом случае ссылка на