Was bedeutet der Pfeil-operator '->' in Java?

Während der Jagd durch einige code-ich kam über den Pfeil-operator, was genau tut es? Ich dachte, dass Java nicht über einen Pfeil-operator.

return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
        return Car.SEDAN == ((Car)arg0).getStyle();
});

Details: Java 6, Apache-Commons-Sammlung, IntelliJ 12

Update/Antwort: Es stellt sich heraus, dass IntelliJ 12 unterstützt Java 8, die unterstützt Lambda-Ausdrücke, und "Klapp" - Prädikate und deren Anzeige als Lambda-Ausdrücke. Unten ist die "un-gefalteten" code.

return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
    public boolean evaluate(Object arg0) {
        return Car.SEDAN == ((Car)arg0).getStyle();
    }
});
Beachten Sie, dass das genaue Szenario ist IntelliJ rendering den vorhandenen code, wie ein lambda-Ausdruck, um es einfacher zu Lesen. Der eigentliche code ist nicht ein lambda-Ausdruck.
Ich weiß nicht, warum, aber der eigentliche code ist lesbarer als den lambda-Ausdruck. 🙂

InformationsquelleAutor Mike Rylander | 2013-02-28

Schreibe einen Kommentar