【问题标题】:How to get all possible values of an enum in java? (not knowing the specific Enum) [duplicate]如何在java中获取枚举的所有可能值? (不知道具体的枚举)[重复]
【发布时间】:2011-07-05 16:57:25
【问题描述】:

我想创建一个 JComboBox 来处理选择给它的任何 Enum。为此,我需要一种方法来检索传递给 JComboBox 的 Enum 的所有可用值。因为我不知道具体的枚举,所以我不能打电话给EnumType.values()。 我可以想到一些复杂的解决方案,其中支持的枚举必须实现我定义的一些接口,但我想我错过了一个更简单、更通用的解决方案。我应该怎么走?

【问题讨论】:

  • EnumType.values() 有什么问题?
  • 我不知道我正在处理的 EnumType,所以没有 values() 方法。
  • 任何 Enum 都有一个 values() 方法...
  • @Oltarus, values() 是一个静态方法,所以他必须在编译时知道要使用哪个枚举。
  • 我们可以通过反射调用values()方法。实际上,这就是 Class.getEnumConstants() 第一次调用课程时所做的事情。

标签: java enums


【解决方案1】:

【讨论】:

  • 我知道我遗漏了一些明显的东西 ;-)
  • ENUMClass.values() 怎么样?
【解决方案2】:

只需一行代码

List<SOME_ENUM> enumList = Arrays.asList(SOME_ENUM.values());

【讨论】:

    猜你喜欢
    • 2020-02-25
    • 2014-02-02
    • 2011-01-17
    • 2022-08-03
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    相关资源
    最近更新 更多