在搜索一些代码时,我遇到了箭头操作符,它到底是做什么的?我以为Java没有箭头操作符.
return (Collection<Car>) CollectionUtils.select(listOfCars, (arg0) -> {
return Car.SEDAN == ((Car)arg0).getStyle();
});
Run Code Online (Sandbox Code Playgroud)
详细信息:Java 6,Apache Commons Collection,IntelliJ 12
更新/答案:事实证明IntelliJ 12支持Java 8,它支持lambdas,并且"折叠"Predicates并将它们显示为lambda.下面是"未折叠"的代码.
return (Collection<Car>) CollectionUtils.select(listOfCars, new Predicate() {
public boolean evaluate(Object arg0) {
return Car.SEDAN == ((Car)arg0).getStyle();
}
});
Run Code Online (Sandbox Code Playgroud) java intellij-idea apache-commons java-8 apache-commons-collection
我在这个存储库中签出了类似redux的android实现。在一个文件中,我找到了如下的方法实现:
@Override
public Dispatcher create(Store<AppState> store, Dispatcher
nextDispatcher) {
return action -> {
log("dispatching action: " + action);
nextDispatcher.dispatch(action);
log("new state: " + store.getState());
};
}
Run Code Online (Sandbox Code Playgroud)
我无法了解return此方法的工作原理,因为没有提到action??。还想知道如何将此方法实现转换为Kotlin,因为在这种情况下Android Studio的Kotlin转换器无济于事。感谢您的帮助。谢谢!