Czy można zapisać metodę w zmiennej?
Mam klasę, która nazywa się MyFilter i filtruje elementy w różnych polach.
Konstruktor MyFilter powinien zadać 2 rzeczy:Zapisywanie metody w zmiennej, java 8
- String, dla artykułów przykład Filtrowanie według języka, "English"
- ta powinna być metodą
na przykład:
Mam element i chcę sprawdzić, czy język == String podany do filtra
Potrzebuję więc języka tego przedmiotu, więc Item.getLanguage() ...
Potrzebuję go również dla Item.getTitle(), Item.getId() i tak dalej.
Myślę, że jest to możliwe z lambda, ale nie wiem jak.
See Java Reflection: http://docs.oracle.com/javase/7/docs/api/java/lang/reflect/Method.html (Methods) oraz http: // docs .oracle.com/javase/7/docs/api/java/lang/Class.html (Classes) – Trinimon
Tak, jest. wszystkie lambda w Javie są rzeczywistymi instancjami klasy wewnętrznej implementującymi odpowiednie interfejsy. deklarujesz ten interfejs i przypisujesz do niego lambdę. – HuStmpHrrr
@HuStmpHrrr - lambdy są instancjami ** funkcjonalnych ** interfejsów. –