Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用Java在另一个枚举中添加枚举吗?_Java_Enums - Fatal编程技术网

我可以使用Java在另一个枚举中添加枚举吗?

我可以使用Java在另一个枚举中添加枚举吗?,java,enums,Java,Enums,我可以在其他枚举中添加枚举吗?例如: public enum Enum1 { VALUE1; } public enum Enum2 { Enum1, VALUE2; } 注意:我已经知道您可以这样做: public enum Action { FOO, BAR; enum MOVE { UP, DOWN, LEFT, RIGHT } } 这是可能的,但Enum2中的Enum1只是常量,与Enum

我可以在其他枚举中添加枚举吗?例如:

public enum Enum1 {
    VALUE1;
}
public enum Enum2 {
    Enum1,
    VALUE2;
}
注意:我已经知道您可以这样做:

public enum Action
{
   FOO,
   BAR;
   enum MOVE
   {
     UP,
     DOWN,
     LEFT,
     RIGHT 
   }
}
这是可能的,但Enum2中的Enum1只是常量,与Enum1 enum没有任何依赖关系,但是您可以使用如下内容:

public enum Enum1 {
   VALUE1;
}

public enum Enum2 {
    VALUE1 (Enum1.VALUE1),
    VALUE2 (null);

    private final Enum1 enum1;

    Enum2(com.github.vedenin.services.image.filter.Enum1 enum1) {
        this.enum1 = enum1;
    }

    public Enum1 getEnum1() {
        return enum1;
    }
}

可能重复您的第一个代码是没有意义的,因为枚举标识符必须是一个标识符,就像任何其他标识符一样,并且建议-您试图解决什么问题?您已经知道该代码不可编译,因此您知道它是不合法的。@killjoy我不想扩展枚举,我只想让它像另一个属性一样。您的可能重复可能会使它们实现相同的接口以增强功能
public enum Enum1 {
   VALUE1;
}

public enum Enum2 {
    VALUE1 (Enum1.VALUE1),
    VALUE2 (null);

    private final Enum1 enum1;

    Enum2(com.github.vedenin.services.image.filter.Enum1 enum1) {
        this.enum1 = enum1;
    }

    public Enum1 getEnum1() {
        return enum1;
    }
}