Оператор ::
В Java оператор ::
, называемый оператором ссылки на метод (method reference), используется для передачи ссылки на метод в качестве аргумента в другой метод или выражение. Он обеспечивает компактный и выразительный способ передачи логики или функциональности вместо явного написания лямбда-выражения.
Существует несколько форм записи оператора ссылки на метод в Java:
Ссылка на статический метод:
ClassName::staticMethodName
Ссылка на метод экземпляра:
objectReference::instanceMethodName
Ссылка на метод конструктора:
ClassName::new
Ссылка на метод массива:
ArrayType[]::methodName
Примеры использования оператора ссылки на метод:
Ссылка на статический метод:
// Пример использования оператора ссылки на статический метод List<String> names = Arrays.asList("Alice", "Bob", "Charlie"); names.forEach(System.out::println); // Вывод каждого элемента списка на консоль
Ссылка на метод экземпляра:
// Пример использования оператора ссылки на метод экземпляра String str = "Hello, world"; Function<Integer, String> substringFunction = str::substring; // Получение ссылки на метод substring String result = substringFunction.apply(7); // Вызов метода substring(7) на строке str System.out.println(result); // Вывод результата на консоль: "world"
Ссылка на метод конструктора:
// Пример использования оператора ссылки на метод конструктора Supplier<String> supplier = String::new; // Получение ссылки на конструктор класса String String emptyString = supplier.get(); // Вызов конструктора String() для создания пустой строки System.out.println(emptyString); // Вывод пустой строки на консоль
Ссылка на метод массива:
// Пример использования оператора ссылки на метод массива Function<Integer, int[]> arrayCreator = int[]::new; // Получение ссылки на метод создания массива int[] newArray = arrayCreator.apply(5); // Создание массива из 5 элементов
Last updated
Was this helpful?