如何更正此可赎回声明?


Callable<Response> myTask = () -> {
return queryService.queryGraph(inputInfo);
};

我正在创建一个新的可调用线程并使用此语法,但收到一条消息"语句 lambda 可以替换为表达式 lambda"。同样在Intellij中,编辑器中有一个小标志,上面写着"java.util.concurrent.Callable"中的覆盖方法。

如何摆脱这两个消息?

您会收到此警告,因为您可以通过删除 lamda 来减少 lamda{}retrun它仍然可以完成相同的工作。用:

Callable<Response> myTask = () -> queryService.queryGraph(inputInfo);

而不是:

Callable<Response> myTask = () -> {
return queryService.queryGraph(inputInfo);
};

语法很好。我认为这是警告您不要引入不必要的括号的智能:

Callable<Response> myTask = () -> queryService.queryGraph(inputInfo);

因为您可以折叠单个语句 lambda 正文。

提示:在Intellij中,您可以使用Alt + Enter来查看IDE的正确建议

最新更新