考虑以下代码
1)if ("Anil".equals(name)) {
比以下更优先(因为它避免了NPE)
2)if (name.equals("Anil")) {
我正在维持一个充满第二类条件的班级。 我想将这些条件转换为类型1(常量第一)。
所以我想知道eclipse中是否有任何快捷方式可以做同样的事情。 eclipse重构菜单没有显示任何选项。
答案 0 :(得分:3)
认为您应该使用regexp来替换它:
(\w+).equals\(\"([\w]*)\"\)有了这个:
\"$2\".equals($1)
答案 1 :(得分:1)
我正在开发AutoRefactor Eclipse插件,可以完成您想要的任务以及更多。
首先需要从更新站点http://autorefactor.org/nightly安装插件。
完成此操作后,只需按Alt + Shift + Y组合,当参数为常量时,它将正确恢复对Object.equals()或String.equalsIgnoreCase()的所有调用。
答案 2 :(得分:0)
没有,但您可以尝试使用Eclipse宏录制器,例如Practically Macro
答案 3 :(得分:0)
我能想到的最佳选择是编写代码来重构代码。 Eclipse没有您正在寻找的特定交换。
像普通文件一样读取.java文件。查找上面的模式,并尝试用swap替换它。这样你也可以练习一些正则表达式。