Функциональные интерфейсы в Java: что это такое и как использовать
Функциональные интерфейсы в Java - это интерфейсы, которые содержат только один абстрактный метод. Они используются для создания лямбда-выражений и методов ссылок, что позволяет использовать функциональное программирование в Java.
Примеры функциональных интерфейсов в Java:
1. Consumer
Consumer printString = (str) -> System.out.println(str);
printString.accept("Hello world"); // выведет "Hello world"
2. Predicate
Predicate isEven = (num) -> num % 2 == 0;
System.out.println(isEven.test(4)); // выведет true
3. Function
Function intToString = (num) -> "Number: " + num;
System.out.println(intToString.apply(42)); // выведет "Number: 42"
4. Supplier
Supplier generateRandomNumber = () -> (int) (Math.random() * 100);
System.out.println(generateRandomNumber.get()); // выведет случайное число от 0 до 100
5. BiFunction
BiFunction sum = (a, b) -> a + b;
System.out.println(sum.apply(2, 3)); // выведет 5
Использование функциональных интерфейсов позволяет писать более читабельный и лаконичный код благодаря использованию лямбда-выражений и методов ссылок. Также это расширяет возможности функционального программирования на языке Java.