В Java функциональные интерфейсы представляют собой интерфейсы, содержащие только один абстрактный метод. Они используются для создания лямбда-выражений и анонимных классов, что позволяет передавать поведение в качестве аргументов методов или сохранять его в переменных. Вот несколько примеров функциональных интерфейсов в Java: Consumer<String> printUpperCase = str -> System.out.println(str.toUpperCase());
printUpperCase.accept("hello"); // Выводит "HELLO" Supplier<Double> getRandomNumber = () -> Math.random();
double number = getRandomNumber.get();
System.out.println(number); // Выводит случайное число Function<Integer, String> convertToString = num -> String.valueOf(num);
String str = convertToString.apply(42);
System.out.println(str); // Выводит "42" Predicate<Integer> isEven = num -> num % 2 == 0;
boolean result = isEven.test(4);
System.out.println(result); // Выводит "true" UnaryOperator<Integer> square = num -> num * num;
int result = square.apply(5);
System.out.println(resu