如何创建Java类或枚举的别名?

时间:2017-09-14 19:50:14

标签: java enums

我有一个枚举Color,我希望在一个类中有另一个与Color完全相同的项目,所以我试图分配'它是一个类属性。基本上我需要一个别名。

不可能的方式

public enum Color { RED, GREEN, BLUE }

  public class MyClass {
  public static enum Color = Color; // how do I do this in Java?
...
}

所以我的目标是像这样调用颜色:

aColor = MyClass.Color.BLUE;

Go中的正确方法

type T1 = T2

在Java中执行此操作的方法是什么?

3 个答案:

答案 0 :(得分:1)

没有。这类似于类本地类型别名。 Java没有任何类似的东西。

答案 1 :(得分:1)

public class MyClass {

    public enum Color { RED, GREEN, BLUE }

}

这样你就可以打电话:

MyClass.Color color = MyClass.Color.BLUE;

然而MyClass.Color!= Color但它们只是枚举,我没有看到尝试做这样的事情的任何目的。

答案 2 :(得分:0)

您可以简单地将枚举定义为静态字段,如下所示:

package example;

enum Color {
    RED, GREEN, BLUE
}

public class EnumMemberExample {

    public static Color Color;

    public static void main(String[] args) {
        Color blue = EnumMemberExample.Color.BLUE;

        System.out.println(blue.name());
        // => BLUE
        EnumMemberExample instance = new EnumMemberExample();

        System.out.println(instance.Color.GREEN);
        // => GREEN
    }
}

这可能就像在这个例子中一样,尽管我不喜欢为类类型和字段使用相同的名称。 :)