diff --git a/Aufpassen%21.md b/Aufpassen%21.md index f803d0a..f2bf502 100644 --- a/Aufpassen%21.md +++ b/Aufpassen%21.md @@ -229,4 +229,11 @@ Trowable - Nur ein Vararg, immer letzter Parameter - In der Methode ein Array - Beim Überladen wie Array - - Vararg-Parameter kann mit Array aufgerufen werden, *umgekehrt nicht*! \ No newline at end of file + - Vararg-Parameter kann mit Array aufgerufen werden, *umgekehrt nicht*! +- Lambda-Ausdrücke (hier Predicate) + - Ermöglichen, Code als Parameter zu übergeben oder in einer Variable zu definieren. Dieser kann dann in anderen Methoden (in einem neuen Kontext) ausgeführt werden. + - `Predicate` ist ein **Interface** und hat eine abstrakte Methode `boolean test(T var1)`, die durch den Lambda-Ausdruck (oder eine Klasse, die Predicate implementiert) implementiert wird. + - Lambda-Definition für `Predicate`: argument -> anweisung; + - Ein Argument, kann, muss aber nicht umklammert werden. Kann Typ deklarieren, muss dann geklammert werden `(String s) -> s.length() == 1;` + - Mehrere Anweisungen in `{}`, dann `return` notwendig. (Bei Predicate boolean). Auf korrekten Block achten, `;` auch hinter letzter Anweisung. + \ No newline at end of file