在IntelliJ中输入如下代码:
Runnable cronTask = new Runnable() {
@Override
public void run() {
// do something
}
};
当使用lambda表达式时,IntelliJ会自动建议这会更好。您可以选择自动转换为
Runnable cronTask = () -> {
// do something
};
Eclipse中是否可以这样?也许有某种插件?我希望Eclipse能够告诉我lambda表达式可能是更好的解决方案。如果可能的话,还建议正确修复。
答案 0 :(得分:3)
据我所知,没有办法让Eclipse显示编译器警告,其中lambda表达式是更好的选择。不过,有一个很好的功能可以处理您请求的自动转换。
右键单击任何项目或Java文件,然后选择 Source - >清理... 在出现的窗口中,选择使用自定义配置文件,然后单击配置... 在代码样式选项卡,启用转换功能接口实例,并确保选择尽可能使用lambda ,如下面的屏幕截图所示:
验证并运行清理。此功能以及Timothy Truckle在评论中建议的手动快速帮助有望满足您的大部分需求。
答案 1 :(得分:0)
一旦您拥有“尽可能使用lambda”,就可以now (Eclipse 2020.03) clean them up
已添加新的清理操作,以简化lambda表达式和方法引用语法,并且仅在Java 8及更高版本中启用。
清理:
- 删除单个无类型参数的括号
- 单个表达式的返回语句和
- 括号为一个语句。
在可能的情况下,它将lambda表达式替换为创建或方法引用。
要选择清除,请调用
Configure...
,使用自定义配置文件,然后在Simplify lambda expression and method reference syntax
对话框中选择Code Style
上的In [18]: !cd primo-files; pwd; mpirun --hostfile /tmp/hostfile -np 2 primo primo-inputs Out[18]: /files/primo-files
标签。对于给定的代码:
您在清理后得到这个: