Java 7 might oder might not Schließungen implementieren und somit Funktionalität wie dies unterstützen, aber es funktioniert noch nicht, so auf der Java VM Sie die Optionen, um es zu tun haben, in Groovy, Scala oder Clojure (mögliche andere auch), aber in Java kann man nur mit Helfern wie Guavas Collections2.filter() in die Nähe kommen.
JDK 7 Beispielcode:
findItemsLargerThan(List<Integer> l, int what){
return filter(boolean(Integer x) { x > what }, l);
}
findItemsLargerThan(Arrays.asList(1,2,5,6,9), 5)
Groovy Beispielcode:
Arrays.asList(1,2,5,6,9).findAll{ it > 5}
Guava Beispielcode:
Collections2.filter(Arrays.asList(1, 2, 5, 6, 9),
new Predicate<Integer>(){
@Override
public boolean apply(final Integer input){
return input.intValue() > 5;
}
}
);
Scala Beispielcode (dank Bolo):
Array(1, 2, 5, 6, 9) filter (x => x > 5)
oder Java 8: http://blogs.oracle.com/mr/entry/rethinking_jdk7 – Thilo
@Thilo argh, schlechte Nachrichten. thx für den Link –
danke für die Information! – Graslandpinguin