Sobes.tech
Junior — Middle
105

Spiega la differenza tra le interfacce Consumer e Supplier nel contesto del lavoro con stream o interfacce funzionali.

Le aziende dove è stato chiesto
Т-БанкТ-Банк

Risposta dell'AI

sobes.tech AI

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

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

    Consumer<String> printer = s -> System.out.println(s);
    printer.accept("Hello"); // выводит Hello
    
  • Supplier<T> — не принимает аргументов, но возвращает объект типа T. Используется для генерации или поставки значений.

    Supplier<Double> randomSupplier = () -> Math.random();
    double value = randomSupplier.get();
    

Таким образом, Consumer — это «потребитель» данных, а Supplier — «поставщик» данных.