Voglio implementare un metodo javascript come in java, è possibile?Function Object in Java
Di ', ho una classe Persona:
public class Person {
private String name ;
private int age ;
// constructor ,accessors are omitted
}
e un elenco con oggetti Person:
Person p1 = new Person("Jenny",20);
Person p2 = new Person("Kate",22);
List<Person> pList = Arrays.asList(new Person[] {p1,p2});
Voglio implementare un metodo come questo:
modList(pList,new Operation (Person p) {
incrementAge(Person p) { p.setAge(p.getAge() + 1)};
});
ModList riceve due parametri, uno è una lista, l'altro è l '"oggetto funzione", scorre la lista e applica questa funzione a ogni elemento nella lista. Nel linguaggio di programmazione funzionale, questo è facile, non so come faccia a fare questo java? Forse potrebbe essere fatto tramite proxy dinamico, questo ha un compromesso tra prestazioni e confronti rispetto al loop nativo?
possibile duplicato di http: //stackoverflow.com/questions/122105/java-what-is-the-best-way-to-filter-a-collection –
A un esame più attento: non è un duplicato, ma le risposte potrebbero comunque aiutarti. –
Se vuoi quel tipo di potere, allora Groovy potrebbe valere la pena dare un'occhiata. In Groovy scrivi 'pList.each {it.age ++}' –