Middle
Τι είναι οι εκφράσεις lambda στη Java;
sobes.tech AI
Απάντηση από AI
Η έκφραση lambda στη Java είναι μια ανώνυμη συνάρτηση. Επιτρέπει την αντιμετώπιση της λειτουργικότητας ως ορίσματος μεθόδου ή ως κώδικα ως δεδομένα.
Βασικά χαρακτηριστικά:
- Ανωνυμία: Δεν έχει όνομα.
- Λειτουργική διεπαφή: Η έκφραση lambda συνδέεται πάντα με μια λειτουργική διεπαφή (διεπαφή με μία μόνο αφηρημένη μέθοδο).
- Σύνταξη:
(παραμέτρους) -> { σώμα }
Παράδειγμα χρήσης με τη λειτουργική διεπαφή Consumer:
import java.util.function.Consumer;
// Η λειτουργική διεπαφή Consumer<T> έχει μια αφηρημένη μέθοδο accept(T t)
Consumer<String> χαιρετισμός = (όνομα) -> {
System.out.println("Γειά σου, " + όνομα);
};
χαιρετισμός.accept("Κόσμε"); // Έξοδος: Γειά σου, Κόσμε
Παράδειγμα χρήσης με τη διεπαφή Runnable:
// Η διεπαφή Runnable έχει μια αφηρημένη μέθοδο run()
Runnable εργασία = () -> {
System.out.println("Η εργασία εκτελείται σε ένα ξεχωριστό νήμα");
};
new Thread(εργασία).start(); // Ξεκινάει την εργασία σε ένα νέο νήμα
Εναλλακτικές σύνταξης:
- Χωρίς παραμέτρους:
() -> { System.out.println("Γειά σου"); } - Ένας παράμετρος χωρίς αγκύλες:
όνομα -> System.out.println("Γειά σου, " + όνομα) - Πολλές παράμετροι με αγκύλες και τύπους:
(int a, int b) -> { return a + b; } - Πολλές παράμετροι χωρίς τύπους (υπόθεση τύπου):
(a, b) -> a + b - Μόνο μία γραμμή σώματος χωρίς
return:(a, b) -> a + b - Πολύγραμμο σώμα με αγκύλες και
return(αν χρειάζεται):(a, b) -> { int άθροισμα = a + b; return άθροισμα; }
Οι εκφράσεις lambda κάνουν τον κώδικα πιο συμπαγή, ευανάγνωστο και επιτρέπουν τη χρήση λειτουργικού προγραμματισμού στη Java.