Lambda Functions Flashcards
Was ist der Sinn von Lamda Funktionen?
Lambda Funktionen stellen eine Art dar, functionale Interfaces in kürzerer Form zu erstellen
In welcher Form werden Lambda Funktionen definiert?
ReturnType value = (FunctionParameters) -> {FunctionBody};
Wie sieht folgende Lamda Funktion als funtional Interface aus?
ReturnType value = (FunctionParameters) -> {FunctionBody};
@FunctionalInterface interface MyInterface{ ReturnType MethodName(FunctionParameters){ FunctionBody } }
Wandel das Functional Interface zu einer Lambda Funktion
Function toInt = new Function(){ @Override public Integer apply(String string){ return Integer.parseInt(string); } }
Function toInt = (String string) -> { return Integer.parseInt(string);}
Wandel das Functional Interface zu einer Lambda Funktion
Runnable runnable = new Runnable(){ @Override public void run(){ System.out.println("Hello Wolrd!"); } }
Runnable runnable = () -> System.out.println(“Hello World!”);
Best Practice
Wie und warum kann die folgende Lambda Funktion anders geschrieben werden?
Function toInt = (String s) -> Integer.parseInt(s);
Function toInt = (s) -> Integer.parseInt(s);
Der Typ des Parameters kann weggelassen werden, der Compiler weiß durch das functional Interface bereits um welchen Typ es sich bei dem Paramter handelt.
Best Practice
Wann können die {} Klammern um den Function Body und das return Statement weggelassen werden?
Geschweifte Klammern als auch return Statement können weggespart werden, wenn der Lambda Function Body nur eine Zeile enthält.