Ausdruckskörper: Es handelt sich um den einfachsten Lambda-Ausdruckskörpertyp, der aus einem einzigen Ausdruck besteht. Der Code rechts vom Lambda-Operator ist ein einzelner Ausdruck, der automatisch zurückgegeben wird.
Blockkörper: Im Gegensatz zum Ausdruckskörper ermöglicht der Blockkörper mehrere Anweisungen. Dies erweitert die Operationen, die mit Lambdas durchgeführt werden können, wie z. B. Variablendeklarationen, Schleifen, if- und switch-Anweisungen. Um einen Wert zurückzugeben, müssen Sie explizit eine return.
-Anweisung verwendenBeispiel für die Verwendung von Blockkörpern: Ein Block-Lambda kann verwendet werden, um den kleinsten positiven Faktor einer Ganzzahl zu finden, und zwar über eine funktionale Schnittstelle wie NumericFunc, die einen int annimmt und einen int zurückgibt.
// Ein Block-Lambda, das den kleinsten positiven Faktor findet
// eines int-Wertes.
Schnittstelle NumericFunc {
int func(int n);
}
Klasse BlockLambdaDemo {
public static void main(String args[])
{
// Dieser Block-Lambda gibt den kleinsten positiven Faktor eines Werts zurück.
// Ein Block-Lambda-Ausdruck
NumericFunc kleinsteF = (n) -> {
int result = 1;
// Erhält den absoluten Wert von n.
n = n < 0? -n : n;
for(int i=2; i <= n/i; i )
if((n % i) == 0) {
result = i;
Pause;
}
Ergebnis zurückgeben;
};
System.out.println("Kleinster Faktor von 12 ist " kleinsteF.func(12));
System.out.println("Kleinster Faktor von 11 ist " kleinsteF.func(11));
}
}
Ausgabe:
Der kleinste Faktor von 12 ist 2
Der kleinste Faktor von 11 ist 1
Das obige ist der detaillierte Inhalt vonLambda-Ausdrücke blockieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!