如何在IntelliJ中将Java Lambda表达式重构为方法引用?
在IntelliJ中将Lambda表达式重构为自定义方法引用的步骤
这事儿在IntelliJ里操作起来特别顺畅,我给你一步步拆解:
- 首先,把光标定位到你要重构的Lambda表达式上(就是代码里的
x -> x + "!",随便点它哪部分都行)。 - 按下提取方法的快捷键:Windows/Linux用
Ctrl+Alt+M,Mac用Cmd+Opt+M;或者右键点击Lambda,选择Refactor->Extract->Method...打开提取对话框。 - 在弹出的对话框里做这几个设置:
- 方法名称输入
t(就是你想要的那个方法名) - 把访问修饰符从默认的
private改成public(和你预期的代码一致) - 检查下返回类型是
String、参数是String x——这些IntelliJ会自动识别,一般不用手动改 - 点击「OK」确认
- 方法名称输入
- 搞定!IntelliJ会自动帮你完成两件事:
- 在
class A里生成对应的public String t(String x) { return x + "!"; }方法 - 把原来的Lambda表达式替换成
this::t方法引用
- 在
补充:如果已经有了目标方法
要是你事先已经写好了t方法,那更简单:光标放在Lambda上,按下Alt+Enter(Win/Linux)或Option+Enter(Mac),在弹出的意图菜单里选择「Replace lambda with method reference」,IntelliJ会自动匹配到t方法,直接替换成this::t。
内容的提问来源于stack exchange,提问作者slartidan
相关产品推荐
相关产品推荐

