Sobes.tech
Middle

Τι είναι οι εκφράσεις lambda στη Java και ποιες δυνατότητες παρέχουν;

sobes.tech AI

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

Οι εκφράσεις lambda στη Java είναι ανώνυμες συναρτήσεις που επιτρέπουν να γράφουμε κώδικα πιο συνοπτικά, ειδικά όταν εργαζόμαστε με λειτουργικές διεπαφές. Αποτελούνται από ένα μπλοκ παραμέτρων, το βέλος -> και το σώμα της συνάρτησης.

Κύριες δυνατότητες:

  • Μείωση κώδικα: Αφαιρούν την ανάγκη δημιουργίας ανώνυμων εσωτερικών κλάσεων για την υλοποίηση λειτουργικών διεπαφών.
  • Λειτουργικός προγραμματισμός: Απλοποιούν την εφαρμογή εννοιών λειτουργικού προγραμματισμού, όπως η μεταβίβαση συναρτήσεων ως επιχειρημάτων.
  • Βελτίωση αναγνωσιμότητας: Σε ορισμένες περιπτώσεις, καθιστούν τον κώδικα πιο κατανοητό και εύκολο στην αντίληψη.
  • Εργασία με το API Stream: Είναι η βάση για αποτελεσματική εργασία με ροές δεδομένων σε Java 8 και άνω.

Παράδειγμα:

// Παραδοσιακός τρόπος με ανώνυμη κλάση
Runnable traditionalRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Γειά από παραδοσιακό runnable");
    }
};

// Με έκφραση lambda
Runnable lambdaRunnable = () -> System.out.println("Γειά από lambda runnable");

Η έκφραση lambda συνδέεται με μια λειτουργική διεπαφή — μια διεπαφή με μία μόνο αφηρημένη μέθοδο. Ο τύπος των παραμέτρων και η επιστρεφόμενη τιμή της lambda καθορίζονται από τη υπογραφή αυτής της αφηρημένης μεθόδου.