Ich möchte eine JavaScript-ähnliche Methode in Java implementieren, ist das möglich?Funktion Objekt in Java
Sag mal, habe ich eine Klasse Person:
public class Person {
private String name ;
private int age ;
// constructor ,accessors are omitted
}
und eine Liste mit Person-Objekte:
Person p1 = new Person("Jenny",20);
Person p2 = new Person("Kate",22);
List<Person> pList = Arrays.asList(new Person[] {p1,p2});
Ich möchte eine Methode wie folgt implementieren:
modList(pList,new Operation (Person p) {
incrementAge(Person p) { p.setAge(p.getAge() + 1)};
});
ModList erhält Zwei Parameter, einer ist eine Liste, der andere ist das "Function-Objekt", es führt eine Schleife durch die Liste und wendet diese Funktion an jedes Element in der Liste. In der funktionalen Programmiersprache ist das einfach, ich weiß nicht, wie Java das macht? Vielleicht könnte durch dynamische Proxy getan werden, hat das eine Leistungsabrechnung im Vergleich zu nativen for-Schleife?
möglich Duplikat http: //stackoverflow.com/questions/122105/java-what-is-the-best-way-to-filter-a-collection –
Bei näherer Betrachtung: Es ist kein Duplikat, aber die Antworten können Ihnen immer noch helfen. –
Wenn Sie diese Art von Power wollen, dann könnte Groovy einen Blick wert sein. In Groovy schreibst du 'pList.each {it.age ++}' –