在Java中将字节转换为Enum

时间:2013-10-08 23:32:40

标签: java casting arraylist enums

我想知道如何将字节转换为Enum

我的代码是:

public final EnumTest Test()
{
    return (EnumTest)data.get(1);
}

但它不起作用,因为数据是一个字节arraylist。反正有没有像我在C#中那样做?

感谢。

2 个答案:

答案 0 :(得分:2)

public final EnumTest Test()
{
    return EnumTest.values()[data.get(1) & 0xFF];
}

答案 1 :(得分:0)

在java中,enum基本上只是类,在C#中它们只是常量(我认为)。 我不确定你为什么说:

  

将Enum转换为Byte,是Enum to Byte,而不是Byte to enum。

虽然您从数据arraylist中获取了一个字节并尝试返回枚举但.... 那么你确定你不是指Byum to Enum吗?

无论如何,你可以使用java enum的ordinal来获得你想要的那个,尽管你可能更喜欢不同的设计。