如何使用ecplise自动重构java表达式?

如何使用ecplise自动重构java表达式?,java,eclipse,refactoring,Java,Eclipse,Refactoring,昨天我在SO会议上遇到了一个有趣的问题: 有趣的结果似乎是someStr.equals实际上比调用someStr.isEmpty慢得多。除此之外,我发现我也迫切需要更好的风格,因为这种方法是一个很好的例子,告诉,不要问范例 无论如何;通常我会拒绝这种纳米优化;但是:我们有一个庞大的代码库,数百万LOC。因此,如果有一种自动的、编译器检查的方法来搜索whateverString.equals的所有匹配项,就会自动将其替换为对whateverString.isEmpty的调用 嗯,;这意味着:在代

昨天我在SO会议上遇到了一个有趣的问题:

有趣的结果似乎是someStr.equals实际上比调用someStr.isEmpty慢得多。除此之外,我发现我也迫切需要更好的风格,因为这种方法是一个很好的例子,告诉,不要问范例

无论如何;通常我会拒绝这种纳米优化;但是:我们有一个庞大的代码库,数百万LOC。因此,如果有一种自动的、编译器检查的方法来搜索whateverString.equals的所有匹配项,就会自动将其替换为对whateverString.isEmpty的调用

嗯,;这意味着:在代码风格和性能方面有一定程度的代码改进;零成本

现在我想知道,是否存在这样的零成本选项来自动重构这样的代码;最好是月食。我查看了eclipse帮助页面,但找不到任何与重构完整表达式相关的内容。我是否错过了一些东西,或者我是否必须求助于sed/awk进行一个不太受编译器检查的重构


我知道我可以进行文件搜索/替换;这很可能不会造成问题;但我的问题的主要目的是了解eclipse或其他任何工具是否可以通过真正的编译器检查来实现这一点…

你能不能按住ctrl+h键并在所有文件中搜索all.equals,然后将它们全部替换为isEmpty?我在eclipse中没有发现任何以编译器检查方式实现这一点的工具。存在一些外部工具-我自己也在进行开源。AFAIK没有这样的选项,文件/s/r也可以正常工作,因为.equals几乎只用于字符串。