Junior — Middle
Wie wendet man eine Lambda-Ausdruck im Kontext einer Erweiterungsfunktion in Kotlin an?
sobes.tech KI
Antwort von AI
In Kotlin werden Lambda-Ausdrücke häufig zusammen mit Erweiterungsfunktionen verwendet, um die Lesbarkeit und den Komfort des Codes zu verbessern. Eine Erweiterungsfunktion ermöglicht es, einer bestehenden Klasse ohne Vererbung eine neue Methode hinzuzufügen.
Beispiel für die Verwendung einer Lambda in einer Erweiterungsfunktion:
// Erweiterungsfunktion für List<Int>, die eine Lambda auf jedes Element anwendet und die Summe zurückgibt
fun List<Int>.sumByLambda(transform: (Int) -> Int): Int {
var sum = 0
for (item in this) {
sum += transform(item)
}
return sum
}
fun main() {
val numbers = listOf(1, 2, 3, 4)
val result = numbers.sumByLambda { it * 2 } // jedes Element mit 2 multiplizieren und summieren
println(result) // Gibt 20 aus
}
Hier ist sumByLambda eine Erweiterungsfunktion für List<Int>, die eine Lambda-Expression transform akzeptiert und auf jedes Element der Liste anwendet.