【发布时间】:2011-05-26 09:49:45
【问题描述】:
我的代码包含以下列方式对枚举的引用。
Flowers { ROSE, SUNFLOWER }
import com.mycompany.Flowers;
class A {
public void foo(...) {
Flowers flower = Flowers.ROSE;
}
}
我希望上面的代码使用对 Flowers 的静态引用,然后代码看起来像
import static com.mycompany.Flowers.ROSE;
Flowers flower = ROSE;
如何重构我的代码(使用 Eclipse)以使用枚举的静态引用而不是正常的引用机制。有没有办法告诉 Eclipse 将所有常规枚举引用修改为静态引用?
【问题讨论】:
-
IntelliJ(免费版)中有,所以我想它也应该在 eclipse 中。如果可以的话,它很可能是一个自动修复。
-
在 Flowers.ROSE 上按 Alt+Enter。
-
@Vladimir:Alt+ENTER?那是为了属性...?
-
不管怎样,我认为过度使用静态导入并不是一个好主意。根据您使用它们的程度,它可能会增加编译器错误的可能性。 (假设你有 Color.ROSE 和 Flowers.ROSE)。当有更多逻辑时,混淆枚举会使阅读变得更加困难。这类似于实现一个常量接口(这是允许的,但不是常规的)。
标签: java eclipse keyboard-shortcuts