我想在java中将枚举类型变量转换为long类型

时间:2014-05-02 05:25:38

标签: java

我有这样的枚举:

enum E{
    a,
    b
};

E enum1;

我想像这样分配一个长值:

long p =a;

我该怎么做?提出错误can't convert enum type to long

2 个答案:

答案 0 :(得分:2)

在枚举调用getLong()中编写一个方法,并从那里返回所需的Long变量。你可以致电long foo = enum1.getLong()

你必须修改你的枚举。

public enum foo
    enum1(longfoo) //longfoo is the long number you want to return from enum1.

    private foo(Long longfoo){
        this.longfoo = longfoo;
    }

    private Long longfoo;

    public Long getLong(){
         return longfoo;
    }
}

答案 1 :(得分:0)

枚举有一个成员序号,你可以使用它。 http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html#ordinal()