相关疑难解决方法(0)

箭头操作符' - >'在Java中做什么?

在搜索一些代码时,我遇到了箭头操作符,它到底是做什么的?我以为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

151
推荐指数
5
解决办法
17万
查看次数

在此方法中找不到对返回值的引用

我在这个存储库中签出了类似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转换器无济于事。感谢您的帮助。谢谢!

java android kotlin

1
推荐指数
1
解决办法
63
查看次数