Sobes.tech
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.