类不能直接扩展java.lang.Enum

时间:2013-09-28 05:58:50

标签: java

我得到的错误类不能直接扩展java.lang.enum在我的下面的代码中

public final class ConversionMode extends Enum
{

public static final ConversionMode TO_XLIFF;
public static final ConversionMode FROM_XLIFF;
private static final ConversionMode $VALUES[];

public static final ConversionMode[] values()
{
    return (ConversionMode[])$VALUES.clone();
}

public static ConversionMode valueOf(String s)
{
    return (ConversionMode)Enum.valueOf(file2xliff4j/ConversionMode, s);
}

private ConversionMode(String s, int i)
{
    super(s, i);
}

static 
{
    TO_XLIFF = new ConversionMode("TO_XLIFF", 0);
    FROM_XLIFF = new ConversionMode("FROM_XLIFF", 1);
    $VALUES = (new ConversionMode[] {
        TO_XLIFF, FROM_XLIFF
    });
}
}

我也参考了这个链接,但是我正确地得到它所以请给我解决方案我需要做什么?

3 个答案:

答案 0 :(得分:7)

这不是你在Java中创建枚举的方式。这是你如何做到的:

public enum ConversionMode {
    TO_XLIFF,
    FROM_XLIFF
}

这就是全部。我们会为您实施values()valueOf()ordinal()和其他枚举方法。

与Java一样,有一个tutorial about enums

答案 1 :(得分:2)

不,你不能扩展ENUM

JLS#8.9

  

枚举类型是隐式final的,除非它包含至少一个具有类主体的枚举常量。

示例

enum Color {
    RED, GREEN, BLUE;

}

如果你看到Language Specification,那么有一个完整的例子就是如何使用枚举和获取值等......

答案 2 :(得分:0)

这不是如何制作枚举。你没有扩展枚举。

public enum ConversionMode {
    TO_XLIFF,
    FROM_XLIFF,
...