Callable<Response> myTask = () -> {
return queryService.queryGraph(inputInfo);
};
我正在创建一个新的Callable线程并使用这种语法,但收到一条消息&#34; Statement lambda可以用表达式lambda&#34;替换。同样在Intellij中,编辑器中有一个小符号,表示&#34;覆盖方法&#34; java.util.concurrent.Callable&#34;。
如何摆脱这两条消息?
答案 0 :(得分:3)
您收到此警告,因为您可以通过删除{}
retrun
来减少lamda,但它仍会执行相同的工作。使用:
Callable<Response> myTask = () -> queryService.queryGraph(inputInfo);
而不是:
Callable<Response> myTask = () -> {
return queryService.queryGraph(inputInfo);
};
答案 1 :(得分:1)
语法很好。我认为这是警告你不要引入不必要的括号:
Callable<Response> myTask = () -> queryService.queryGraph(inputInfo);
因为你可以折叠单个语句lambda body。
提示:在Intellij中,您可以使用Alt + Enter
查看IDE的正确建议