gpt4 book ai didi

java - Java中枚举常量的序列号

转载 作者:行者123 更新时间:2023-12-02 00:41:34 25 4
gpt4 key购买 nike

给出以下定义:

public enum SampleEnum1 { Uno, Dos, Tres }
public enum SampleEnum2 { One, Two, Three, Four }

我需要两种方法来执行此操作:

  • 给定整数 2,返回 Dos如果应用于SampleEnum1 , Two如果应用于SampleEnum2
  • 给定值 One ,返回1

事实上,我需要将枚举文本转换为枚举定义中的序列号,反之亦然。

我不介意使用泛型、反射或其他任何东西,只要相同的两种方法适用于任何枚举即可。

你有解决办法吗?

最佳答案

另一种方法是使用辅助方法,例如

public static <E etxends Enum<E>> E lookup(Class<E> eClass, int number) {
return eClass.getEnumConstants()[number-1];
}

SampleEnum1 se1 = lookup(SampleEnum1.class, 2);

顺便说一句:您可以从零开始,这也可以简化您的代码。

关于java - Java中枚举常量的序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6226086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com