当前位置: 首页 > 面试题库 >

将Int转换为Java枚举

叶景龙
2023-03-14
问题内容

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

public enum MyEnum
{
    EnumValue1,
    EnumValue2
}


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

问题答案:

尝试MyEnum.values()[x]x必须为0or的地方1,即该枚举的有效序数。

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



 类似资料:
  • 问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。

  • 问题内容: 我正在尝试将int []转换为bytes。它也被转换。 我的转换代码是这样的。 假设我输入一个int [] = {10,11,15,41,12,8,4,23,5,17,23,36,6}现在我希望字节数组像这样{10,0 ,0,0,11,0,0,0,15,0,0,0,41,0,0,0,12,0,0,0,8,0,0,0,4,0,0 ,0,23,0,0,0,5,0,0,0,17,0,0,0,

  • 问题内容: 我有一个以网络字节顺序包含IP地址的地址,我想将其转换为对象。我看到有一个采用的构造函数,是否有必要将转换为第一个,还是有其他方法? 问题答案: 这应该工作: 您可能需要交换字节数组的顺序,但我无法弄清楚是否会以正确的顺序生成该数组。

  • 我有一个ArrayList ,希望将其转换为int[][]。结果数组中的每个条目都有相同的int[],尽管它们是不同的(是的,我已经检查过了!)。我是不是错过了一些简单的东西?int[][]中数组的长度由arr.length给出 编辑:我已经意识到代码可以正常工作,所以这里有一个更大的代码示例,出现问题的地方。permute()照它说的做,并在新的置换完成时,置换给定数组中的整数,返回true。

  • 问题内容: 所以我的问题是:为什么不执行编译错误? 问题答案: 四种情况中的三种正确报告了错误。复合分配是该规则的唯一例外。Java语言规范,第15.26.2部分,解释了以下原因: 15.26.2复合赋值运算符 形式的复合赋值表达式等效于,其中是的类型,不同之处在于该表达式仅被评估一次。 例如,以下代码是正确的: 并导致x的值为7,因为它等效于: 如您所见,通过隐式插入强制类型转换可以避免该错误。

  • 问题内容: 我有一个第三方图书馆给我一个图书馆。我想像Java 8那样懒惰地使用该枚举,并调用诸如此类的东西。 有没有现成的图书馆?我已经在引用Guava和Apache Commons,所以如果其中任何一个都有理想的解决方案。 另外,在保留所有内容的懒惰性质的同时将a 变成最佳/最简单的方法是什么? 问题答案: 这个答案已经提供了一个解决方案,可以解决以下问题: 应当强调的是,由此而来 的 懒任何