Ich habe ein Prädikat, mit dem ich eine Liste desselben Entitätsobjekts filtere:
Predicate<DWHDeal> companyFilter = i -> i.getCompany().equals(company);
Ich muss auch denselben Filter mit genau derselben Bedingung auf genau dasselbe Feld auf eine Liste von DTOs anwenden, bei denen das DTOS basierend auf der Entität von zuvor erstellt wird:
Predicate<DWHDealDTO> companyFilterDTO = i -> i.getCompany().equals(company);
Ist es möglich, dies zu erreichen, ohne zwei verschiedene Prädikate zu instanziieren? Wenn möglich, möchte ich dies erreichen, indem ich nur eine mache Predicate
.
getCompany()
in beiden Fällen der gleiche Typ zurück?
Predicate
mit einer normalen Klasse oder dem Versuch, eine Methode zu schreiben, die beide DWHDeal
und DWHDealDTO
als Parameter akzeptiert . Wenn diese Klassen keine gemeinsame Schnittstelle oder Oberklasse haben, die eine gemeinsame Methode deklariert, haben sie keine gemeinsame Methode, sondern nur zwei nicht verwandte Methoden, die zufällig denselben Namen haben.
DWHDealDTO
undDWHDeal
verwandt? (wie die Erweiterung derselben Klasse)