Java 如何删除所有不必要的分号(在块的末尾)?

Java 如何删除所有不必要的分号(在块的末尾)?,java,eclipse,Java,Eclipse,我们编写的一些代码有不必要的分号。我想知道最简单的方法是什么。例如,以下列表中的最后一个分号 if(i == 2) { System.out.println("if statement"); } else { System.out.println("else statement"); }; 通过进入Java编译器/错误和警告首选项,然后在“潜在编程问题”下将“空语句”更改为警告或错误,您可以很容易地找到它们。那就只需要检查一下了。也许

我们编写的一些代码有不必要的分号。我想知道最简单的方法是什么。例如,以下列表中的最后一个分号

 if(i == 2)
   {
       System.out.println("if statement");
   }
   else
   {
       System.out.println("else statement");
   };

通过进入Java编译器/错误和警告首选项,然后在“潜在编程问题”下将“空语句”更改为警告或错误,您可以很容易地找到它们。那就只需要检查一下了。也许有一种方法可以使它自动化,但除非有加载,否则我不会麻烦:)

如上所述,通过键入ctrl+f并搜索};用}替换它会很好,但可能会破坏代码

它们不必移除,因为它只是等效于:

if(true){
  //...
}
/*Empty Line*/;

它不会以任何方式影响代码,但最好只是出于偏好而删除它们。

这对您来说可能太晚了,但是,您可以使用Intellij IDEA使用检查“不必要的分号”分析代码,然后在找到所有代码后,您可以应用修复


Eclipse也可以这样做,但它存在一个错误,不允许您批量应用快速修复程序。

对您来说可能太晚了,但这可能会帮助其他人:

CTRL+F

在您的案例中写下您想要删除的内容然后:

CTRL+ALT+SHIFT+J

这将选择该文件中搜索的所有匹配项


然后,您只需删除delete

如果它们都在一个紧括号旁边,您可以对“}”进行查找和替换搜索,并将其替换为“}”@eazimmerman:这将破坏使用匿名内部类的分配,当然……保留它,并在修复其他bug时将其清除。它不会伤害任何东西,为什么要麻烦呢?@eazimmerman小心点,有很多有效的情况需要
}
-内联数组初始值设定项、匿名内部类等之后…@JonSkeet和Beau:这是好的观点,但当然,这会破坏
}的有效出现
可以用于sunxin8086的优势:查找和替换(在确保代码是最新的之后),并查看有哪些中断-之后修复这些错误(当然,取决于您得到的错误数量)可能比跟踪所有事件更简单。Eclipse的synchronise视图应该可以帮助您在提交之前跟踪哪些更改也变成了错误。如果太多,只需从代码存储库中恢复到最新版本即可。我们这样做是为了清理我们的代码库,使之更符合我们的代码标准。突出显示它们肯定很有帮助,但如果我们可以一起自动删除它们,那就更好了。@sunxin8086:不幸的是,我不知道有什么方法可以做到这一点:(这可能会删除一堆不应该删除的分号。