1

我得到错误类不能直接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
    });
}
}

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

4

3 回答 3

8

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

public enum ConversionMode {
    TO_XLIFF,
    FROM_XLIFF
}

就这样。为您实现了 、 和其他枚举values()方法valueOf()ordinal()

和 Java 一样,有一个关于 enums 的教程

于 2013-09-28T06:01:32.540 回答
2

不,你不能扩展ENUM

JLS#8.9

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

例子

enum Color {
    RED, GREEN, BLUE;

}

如果您看到Language Specification,一个完整的示例是如何使用 Enum 和获取值等......

于 2013-09-28T06:02:26.483 回答
0

这不是制作枚举的方法。你不扩展枚举。

public enum ConversionMode {
    TO_XLIFF,
    FROM_XLIFF,
...
于 2013-09-28T06:03:55.880 回答