Sobes.tech
Back to questions
Junior
342

В чем отличие между Supplier и Consumer в Java?

Answer from AI

sobes.tech AI

В Java Supplier и Consumer — это функциональные интерфейсы из пакета java.util.function, которые используются для работы с лямбда-выражениями и функциональным программированием.

  • Supplier<T> — это поставщик, который не принимает аргументов, но возвращает объект типа T. Используется, когда нужно получить или сгенерировать значение без входных данных.

  • Consumer<T> — это потребитель, который принимает объект типа T и ничего не возвращает. Используется для выполнения операций над объектом, например, вывода или изменения состояния.

Пример:

Supplier<String> supplier = () -> "Hello, World!";
String result = supplier.get(); // возвращает "Hello, World!"

Consumer<String> consumer = s -> System.out.println(s);
consumer.accept(result); // выводит "Hello, World!"

Таким образом, Supplier генерирует данные, а Consumer их потребляет.