Junior — Middle
Μπορείτε να αποθηκεύσετε μια ανώνυμη συνάρτηση σε μια μεταβλητή;
sobes.tech AI
Απάντηση από AI
Ναι, στο Android (και στη Java/Kotlin) μπορούν να αποθηκευτούν ανώνυμες συναρτήσεις (εκφράσεις lambda) σε μεταβλητές. Στο Kotlin, για παράδειγμα, μια ανώνυμη συνάρτηση είναι μια lambda και μπορεί να ανατεθεί σε μια μεταβλητή με τον αντίστοιχο λειτουργικό τύπο:
val sum: (Int, Int) -> Int = { a, b -> a + b }
println(sum(3, 4)) // 7
Στη Java, από την έκδοση 8 και μετά, μπορούν να χρησιμοποιηθούν λειτουργικά interfaces και εκφράσεις lambda:
Function<Integer, Integer> square = x -> x * x;
System.out.println(square.apply(5)); // 25
Έτσι, οι ανώνυμες συναρτήσεις μπορούν να αποθηκευτούν σε μεταβλητές και να περαστούν ως αντικείμενα.