重新加载Java枚举
我有一个应用程序,在启动时加载文件。加载文件时,会初始化一些枚举。初始化枚举时调用方法getTagGroupStartId
。该方法采用“标记”的名称,该标记可能存在于加载的文件中,也可能不存在于加载的文件中。如果它不存在,则getTagGroupStartId
返回-1
所有这些都很好。当我加载另一个文件时会出现问题,该文件可能包含前一个文件不包含的“标记”,或者可能不包含前一个文件确实包含的“标记”。在这两种情况下,我都需要更新枚举中m_tagId的值,以便枚举反映当前文件的值。如何重新加载/初始化枚举
public enum ExampleEnum {
FOO("FOO_"),
BAR("BAR_"),
BAZ("BAZ_");
private final String m_tagName;
private final int m_tagId;
ExampleEnum(String tagName) {
m_tagName = tagName;
m_tagId = Tag.getTagGroupStartId(tagName);
}
// ...
}
# 1 楼答案
将以下方法添加到枚举中:
当你想刷新的时候就给它打电话