Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate?

Den Effektivnutzen von (zumindest) BiPredicate kann man wohl zurecht bezweifeln: "(..)Für BiPredicate gibt es in der Java-Standardbibliothek nur eine Verwendung bei einer Methode zum Finden von Dateien – der Gebrauch ist selten, zudem ja auch ein Prädikat immer einer Funktion mit boolean-Rückgabe ist, sodass es eigentlich für diese Schnittstelle keine zwingende Notwendigkeit gibt.(..)" (Quelle: https://openbook.rheinwerk-verlag.de/java8/01_002.html --> BiPredicate)
 
Das sind halt schlicht zwei unterschiedliche Dinge. Das eine ist ein (funktionales) Interface. Das andere ist eine Methode. Das eine kann das andere nicht ersetzen.

Ein funktionales Interface beschreibt eine Anforderung von genau einer Methode. Daher kann hier - wie soeben von @mihe7 beschrieben - auch ein Lambda Ausdruck ("Anonyme Methode") oder eine Methodenreferenz angegeben werden.
 

Zurück
Oben