java - 将 Int 转换为 Java 中的枚举

标签 java casting enums ordinal

在给定以下枚举的情况下,将 Int 转换为 Java 中的枚举的正确方法是什么?

public enum MyEnum
{
    EnumValue1,
    EnumValue2
}


MyEnum enumValue = (MyEnum) x; //Doesn't work???

最佳答案

试试 MyEnum.values()[x] 其中 x 必须是 01,即 a该枚举的有效序数。

请注意,在 Java 中枚举实际上是类(因此枚举值是对象),因此您不能将 int 甚至 Integer 强制转换为枚举。

关于java - 将 Int 转换为 Java 中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5878952/

相关文章:

java - 如何停止改变按钮的位置?

java - 我必须如何设置自己的 hibernate 连接?

java - Hazelcast 主题 - 消息似乎仅由一名成员发送

java - 在java中将负int赋给long

java - 类型转换一个泛型类。 (种姓)和 Class.cast()

java - Sugar ORM 中的 count() 方法是否有任何理由采用 String[] 参数而不是 String...?

Java反射: casting Integer coming from a class's field

java - Java 中的 Avro 枚举序列化

c# - 在没有 try block 的情况下将枚举从对象转换为 long?

c# - 这个 C# 按位或运算的结果是什么?