如何在IntelliJ中合并/展平Java中分散在多个方法的代码?
自动实现方法内联,直接简化代码的解决方案
这事儿太常见了!你要的其实是**方法内联(Method Inlining)**操作,主流Java IDE都自带这个自动重构功能,完全不用手动改一行代码。
具体操作步骤(分IDE说明)
IntelliJ IDEA/Android Studio
- 把光标定位到
A()方法里的B()调用上,或者直接选中这个B() - 按下快捷键:Windows/Linux用
Ctrl+Alt+N,Mac用Cmd+Option+N - 在弹出的选项框里,根据你的需求选择:
- 如果
B()只被A()调用,直接选「Inline method and remove it」,搞定后B()会被删除,A()直接返回"HELLO" - 如果
B()还有其他地方引用,选「Inline only this call site」,只把当前A()里的调用替换成返回值,保留B()方法
- 如果
Eclipse
- 选中
A()里的B()调用 - 右键点击,选择「重构」→「内联」(或者直接按快捷键
Alt+Shift+I) - 同样可以选择只内联当前调用,或者移除
B()方法(如果没有其他引用的话)
效果展示
原代码:
public String A(){ return B(); } public String B(){ return "HELLO"; }
执行内联操作后(选择移除B()):
public String A(){ return "HELLO"; }
如果B()有更复杂的逻辑(比如带参数、简单分支),只要逻辑是确定可内联的,IDE也能自动处理,不用担心出错。
内容的提问来源于stack exchange,提问作者3xCh1_23
相关产品推荐
相关产品推荐

