【问题标题】:How to change an enum at runtime (Java) [duplicate]如何在运行时更改枚举(Java)[重复]
【发布时间】:2016-07-04 14:25:10
【问题描述】:

基本上,我正在为一个名为 Aura Cascade 的 Minecraft 模组编写插件。 Aura Cascade 添加了光环(顾名思义),它有不同的颜色。我想添加一些光环颜色,但有效颜色在这样的枚举中定义:

public enum EnumAura{WHITE,BLACK,RED,ORANGE,YELLOW,GREEN,BLUE,PURPLE}

如何在运行时向 EnumAura 添加值?

澄清一下,我的所有代码都必须在 Aura Cascade 初始化后运行。

【问题讨论】:

  • 你不能。它们基本上都是幕后的最终价值,for reference
  • 谷歌的第一个答案[重复]:stackoverflow.com/questions/478403/…
  • enum 是编译时已知的所有可能值的列表。
  • 我知道通常你不能,但我想确定在认为不可能之前,没有什么方法可以通过反射或 forge 提供的某种方法来做到这一点。

标签: java enums minecraft-forge


【解决方案1】:

如果我正确理解你的问题,你就不能那样做。

请查看有关 Enums 的 Java 文档:https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

枚举类型

枚举类型是一种特殊的数据类型,它使变量能够 一组预定义的常量。变量必须等于以下之一 为它预定义的值。常见的例子包括 罗盘方向(NORTH、SOUTH、EAST 和 WEST 的值)和 一周中的几天。

因为它们是常量,所以枚举类型的字段的名称在 大写字母。

在 Java 编程语言中,您可以使用 枚举关键字。例如,您将指定一个星期几枚举 输入为:

public enum Day {
 SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
 THURSDAY, FRIDAY, SATURDAY  } 

您应该在需要表示一组固定常量的任何时候使用枚举类型。这包括自然 枚举类型,例如我们太阳系中的行星和数据集,其中 你在编译时就知道所有可能的值——例如,选项 在菜单、命令行标志等上。

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 2021-05-17
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多