Java 8 Method References: подробное руководство (:: оператор)
Method references (ссылки на методы) позволяют ссылаться на методы по имени через символ ::. Используются вместо лямбд, когда лямбда просто вызывает существующий метод.
Типы method references
- Static methods:
ClassName::staticMethod - Instance methods:
instance::methodилиClassName::instanceMethod - Constructors:
ClassName::new(например,TreeSet::new)
Пример: System.out::println
import java.util.List;
import java.util.ArrayList;
public class Java8Tester {
public static void main(String[] args) {
List<String> names = new ArrayList<>();
names.add("Mahesh");
names.add("Suresh");
names.add("Ramesh");
names.add("Naresh");
names.add("Kalpesh");
names.forEach(System.out::println); // static method reference
}
}
Результат
Mahesh
Suresh
Ramesh
Naresh
Kalpesh
Здесь System.out::println эквивалентно лямбде s -> System.out.println(s), но короче и чище.
java
- Освоение операторов Java: типы, синтаксис и практические примеры
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Метод String.length() в Java: как получить длину строки (пример)
- Освоение String.indexOf() в Java: поиск подстрок и практические примеры
- Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
- Освоение String.compareTo() в Java: синтаксис, сценарии использования и примеры
- Метод String.contains() в Java: как проверить наличие подстроки — примеры
- Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
- Замена строк в Java: replace(), replaceAll() и replaceFirst() подробно