一尘不染

在现有代码中为常量创建静态导入的简单方法?

java

如果我在Foo中有一个恒定的BAR,我将在C类中使用它,

Object o = Foo.BAR + "...";

我可以在Eclipse中使用Ctrl-Shift-M(将光标放在BAR上)来创建静态导入,例如:

import static Foo.BAR;

Object o = BAR + "....";

我目前正在用字面上的数千个我想转换为静态导入的遗留代码进行更新。Ctrl-Shift-O /组织导入不执行此操作。我错过了一个窍门吗?


编辑:实际上,我更希望使用一种方法来告诉Eclipse,我想让Ctrl-Shift-
M在此特定类中的所有实例上发挥作用,而不仅仅是将光标放在单个实例上。(这是旧版代码,因此实际上提高了可读性:))


编辑:我发现IntelliJ建议这样做。


阅读 121

收藏
2020-12-03

共1个答案

一尘不染

注意事项之一:过多使用静态导入实际上会使代码的可读性降低(imho),尤其是在常量名称不能清楚地表明其所属的类或枚举的情况下。您还可以从听起来相似甚至具有相同名称的不同类/枚举中获取常量名称。

因此,您要强迫读者做的是希望他的IDE可以告诉他该类(例如通过工具提示),否则他们必须导航到该类以了解它是什么。打印输出和代码段变得不再那么可靠了。

老实说,出于这些原因,我很少使用静态导入。

2020-12-03