Junior — Middle
Εξηγήστε τη διαφορά μεταξύ των διεπαφών Consumer και Supplier στο πλαίσιο εργασίας με ροές ή λειτουργικές διεπαφές.
sobes.tech AI
Απάντηση από 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 — «поставщик» данных.