gpt4 book ai didi

java - Eclipse - 提取局部变量仅替换范围内的所有出现

转载 作者:行者123 更新时间:2023-11-30 02:03:14 26 4
gpt4 key购买 nike

我正在使用 Eclipse Neon

我在一个过大的方法中有一个重复的方法调用:

 myObj.getStatus()

例如

if (myObj.getStatus() == ONE || myObj.getStatus() == TWO ) {
}
myObj.changeMe();
if (myObj.getStatus() == THREE || myObj.getStatus() == FOUR) {
}
myObj.changeMe2();
...

可以在调用之间内部更新状态

我只有2个选择

  • 提取局部变量并检查仅在范围内替换所有出现的情况(方法),这不好(因为 getStatus() 不是有效的最终结果)

    <
  • 提取局部变量并手动替换每个相关的 myObj.getStatus() 调用

我最终提取了一个方法,然后提取了局部变量并检查了替换所有出现的情况

这是最有效的选择吗?或者我可以仅在 Eclipse 中的特定上下文/选定文本中进行替换吗?如果不是,这可以被视为 Eclipse 重构的增强吗?

编辑

我希望重构到最近的封闭 block ,类似于 JavaScript 的 let

实际上代码不在同一级别,但eclipse替换了方法中的所有出现

if (myState.equals(STATE_ONE){
if (myObj.getStatus() == ONE || myObj.getStatus() == TWO ) {
}
myObj.changeMe();
}
if (myObj.getStatus() == THREE || myObj.getStatus() == FOUR) {
}
myObj.changeMe2();
...

最佳答案

还有第三种选择:

  1. 确保复选框用对局部变量的引用替换所有出现的所选表达式已选中
  2. 点击预览>
  3. 取消选中不应替换表达式的复选框(在您的情况下为最后两个)

关于java - Eclipse - 提取局部变量仅替换范围内的所有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52137330/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com