Проверяет понимание method reference в Java как сокращенной формы записи лямбда-выражений для вызова существующих методов.
Method reference (ссылка на метод) — это синтаксический сахар в Java, который позволяет заменить лямбда-выражение, состоящее из одного вызова метода, на более краткую запись. Он появился в Java 8 вместе с лямбдами и функциональными интерфейсами. Основная цель — сделать код лаконичнее и выразительнее, особенно при работе со Stream API.
// Статический метод
List<String> names = Arrays.asList("Alice", "Bob");
names.forEach(System.out::println); // вместо name -> System.out.println(name)
// Метод экземпляра конкретного объекта
String prefix = "Hello ";
names.forEach(prefix::concat); // вызов prefix.concat(name)
// Метод экземпляра произвольного объекта
names.sort(String::compareToIgnoreCase); // вместо (a, b) -> a.compareToIgnoreCase(b)
// Конструктор
Supplier<List<String>> listSupplier = ArrayList::new; // вместо () -> new ArrayList<>()Method reference активно используется в Stream API (map, filter, forEach), при работе с Comparator, в функциональных интерфейсах (Supplier, Consumer, Function) и в любом месте, где требуется лямбда-выражение, вызывающее один метод.
Вывод: Используйте method reference, когда лямбда-выражение состоит только из вызова одного метода — это делает код чище и понятнее. Однако избегайте его, если логика сложнее одного вызова или требуется несколько операций.