Sobes.tech
Junior

Ποια είναι η διαφορά μεταξύ Supplier και Consumer στη Java;

sobes.tech AI

Απάντηση από AI

Supplier παρέχει μια τιμή χωρίς να δέχεται ορίσματα. Η λειτουργική του μέθοδος έχει την υπογραφή T get().

Consumer δέχεται μια τιμή, αλλά δεν επιστρέφει τίποτα. Η λειτουργική του μέθοδος έχει την υπογραφή void accept(T t).

Παράδειγμα:

// Supplier παρέχει έναν τυχαίο αριθμό
Supplier<Double> randomSupplier = () -> Math.random();
double randomValue = randomSupplier.get(); // Λαμβάνουμε την τιμή

// Consumer εμφανίζει τον αριθμό στην κονσόλα
Consumer<Double> printConsumer = number -> System.out.println(number);
printConsumer.accept(randomValue); // Δέχεται την τιμή και εκτελεί την ενέργεια