Назад к вопросам
Junior
102
questionbank

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

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Supplier и Consumer — это функциональные интерфейсы, представленные в Java 8 и входящие в пакет java.util.function.

Отличия:

  • Лямбда-выражение:

    • Supplier: Принимает 0 аргументов и возвращает значение.
    • Consumer: Принимает 1 аргумент и не возвращает значения (тип возвращаемого значения void).
  • Основной метод:

    • Supplier: T get()
    • Consumer: void accept(T t)
  • Назначение:

    • Supplier: Используется для ленивого создания объектов или предоставления данных.
    • Consumer: Используется для выполнения действия над входным значением.
  • Пример использования:

    // Supplier - поставляет значение
    Supplier<String> greetingSupplier = () -> "Привет, мир!";
    String greeting = greetingSupplier.get(); // Получаем значение
    
    // Consumer - потребляет значение
    Consumer<String> printConsumer = message -> System.out.println(message);
    printConsumer.accept("Это сообщение для вывода."); // Выполняем действие