Під час полювання через якийсь код я натрапив на оператора стрілки, що саме це робить? Я думав, що у Java немає оператора зі стрілками.
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
Детальніше : Java 6, колекція Apache Commons, IntelliJ 12
Оновлення / відповідь: Виявляється, IntelliJ 12 підтримує Java 8, яка підтримує лямбда, і "складає" предикати і відображає їх як лямбда. Нижче наведено код "без складання".
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});