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); // Δέχεται την τιμή και εκτελεί την ενέργεια