Назад к вопросам
Т-Банк
Junior — Middle
70
Объясните различие между интерфейсами Consumer и Supplier в контексте работы с потоками или функциональными интерфейсами.
Компании, где спрашивали
Ответ от нейросети
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 — «поставщик» данных.