In der Vorlesung klären wir, warum Java Lambda-Ausdrücke bekommen hat: Kürze und Lesbarkeit, das Übergeben von Verhalten als Parameter, Integration mit Collections und
Stream-API (
filter,
map,
forEach), das Einfangen „effektiv“
finaler Variablen und die bequeme Notation von Callbacks über den Operator
->. Parallel betrachten wir Fallstricke: Debugging langer Ketten, Mehrdeutigkeit bei Überladungen (
Runnable vs
Callable), Einschränkungen von Closures, Serialisierung und verschachtelte Lambdas. Am Ende – praktische Empfehlungen, wann man Lambdas verwendet, und eine Analyse typischer Fehler.