当前位置: 首页 > 知识库问答 >
问题:

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

通京
2023-03-14
@Override
public Dispatcher create(Store<AppState> store, Dispatcher 
nextDispatcher) {
   return action -> {
    log("dispatching action: " + action);
    nextDispatcher.dispatch(action);
    log("new state: " + store.getState());
       };
}

共有1个答案

丁良骏
2023-03-14

你有的是兰姆达。它是编写一些代码的缩写形式。当然,不是所有的东西都有lambda,但这个有。在您的示例中,您创建了一个匹配dispatcher的匿名类。

使用Java8语言特性(如果您不在Android上,也可以使用Java8本身),可以使用lambda声明带有一个方法的接口,方法可选地被注释为@functionalinterface.functhtml" target="_blank">ionalinterface.functionalinterface。即。这个:

Runnable x = new Runnable() {
    @Override public void run(){
        // Foo bar
    }
};

与:

Runnable x = () -> {
    // Foo bar
};
() -> {
     // () means 0 args. It can contain arguments if necessary 
    return "return value if applicable";
}
oneArg -> {
    //Method body
}
(arg1, arg2) -> {
    // MethodBody
}
() -> "some string return type"

和参数相同的模式;我不打算再加例子了。以上内容仍然适用。

我在这个答案中使用了不同的括号。围绕着它们的使用,其实是有一些“规矩”的。语法不对编译器会抱怨,但一般情况下:

  • 一个参数不需要()围绕它。这里是可选的。
  • 零或两个和向上参数需要它们。
override fun create(store: Store<AppState>, nextDispatcher: Dispatcher) /*: Dispatcher*/
        = Dispatcher { x -> //Arguments declared here
            // add your actions here
        }
 类似资料:
  • 我之前问过这个问题,它与这个问题相关(如何从异步调用返回响应?),但它并没有解决我的问题 我是node.js的新手,我遇到了一些我无法处理的错误,或者找不到任何我理解的帮助。我使用express generator初始化应用程序。我试图通过一个api调用将我得到的对象发送到前端。我编写了一个类“StockClass.js”,其中包含一个函数makeApiCall(),该函数进行调用并返回对象。但当

  • 问题内容: 谁能帮助我在JAVA中找到方法的返回类型。我试过了 但不幸的是,它不起作用。请指导我。 输出: 不是int :: int 问题答案: 方法返回 你可以试试:

  • 我已经在这个问题上坚持了一段时间,感谢任何帮助。我正在运行弹性搜索高级REST客户端版本的Spring Boot版本,并在Spring Data-Elasticsearch版本中使用version。我得到下面的错误。我尝试了以下尝试来修复,但都没有。 多次更改Spring启动版本 多次更改ES版本 我已经结清了我的债务。m2文件夹并多次重新下载maven依赖项 我下面要讨论的问题是 试图调用不存在

  • 我正在做一个用Spring框架制作的项目。我已经多年没有接触过Java了,这对我来说都是全新的。该项目具有以下UI控制器,显示产品信息: 为了配合这个控制器,我有一个html模板: 当没有产品时——这意味着如果我的

  • 我目前正在尝试为Android模拟(然后构建)和Ionic应用程序(带Angular)。我觉得有必要先说我不是Android开发者,这是我第一次不得不设置环境,所以我为任何“明显”的错误或错过的步骤道歉。 我无法克服这个错误(在运行后出现): 当我尝试构建我的项目或同步Gradle时,我在Android Studio中收到类似的消息: 我的文件中失败的行如下所示: 对于上下文,我有: 下载了And

  • 问题内容: 我试图通过传递一些参数的AJAX调用MVC控制器动作。 我有时 在此应用程序中执行此操作 ,并且效果很好。 我不知道为什么只有 这一个 无效。 这是我的控制器方法: 提醒一下,我正在做我在其他Ajax调用中所做的事情,但是特别是 只有这一条 不起作用。 有人有什么主意吗? 问题答案: 始终使用或html helper方法来构建操作方法的url。无论您当前的页面/路径如何,它都会正确构建