2

考虑以下代码

1) if ("Anil".equals(name)) {

比跟随更可取(因为它避免了 NPE)

2) if (name.equals("Anil")) {

我正在维护一个充满第二类条件的课程。我想将这些条件转换为 type-1(首先是常量)。

所以我想知道eclipse中是否有任何捷径可以做同样的事情。eclipse 重构菜单没有显示任何可以做的选项。

4

4 回答 4

3

认为您可能应该使用正则表达式来替换它:

(\w+).equals\(\"([\w]*)\"\)
有了这个:
\"$2\".equals($1)

于 2013-09-18T10:57:18.900 回答
1

我正在开发 AutoRefactor Eclipse 插件,它可以满足您的需求以及更多功能。

您首先需要从更新站点http://autorefactor.org/nightly安装插件。

完成此操作后,您只需按下组合 Alt+Shift+Y,当参数为常量时,它将正确恢复对 Object.equals() 或 String.equalsIgnoreCase() 的所有调用。

于 2013-12-03T22:33:15.427 回答
0

没有,但您可以尝试使用 Eclipse 宏记录器,例如Practically Macro

于 2013-09-18T10:50:19.577 回答
0

我能想到的最佳选择是让您编写代码来重构代码。Eclipse 没有您正在寻找的特定交换。

像普通文件一样读取 .java 文件。寻找上述模式,并尝试用交换替换它。这样你也可以练习一些正则表达式。

于 2013-09-18T10:50:21.227 回答