Enquanto procurava por algum código, me deparei com o operador de seta, o que exatamente ele faz? Eu pensei que Java não tinha um operador de seta.
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
Detalhes : Java 6, Apache Commons Collection, IntelliJ 12
Atualização / resposta: Acontece que o IntelliJ 12 suporta Java 8, que suporta lambdas, e está "dobrando" Predicados e exibindo-os como lambdas. Abaixo está o código "desdobrado".
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});