1
我有一個應用程序,它啓動時加載文件。當文件加載時,一些枚舉被初始化。當枚舉初始化時調用方法getTagGroupStartId
。該方法採用可能存在或可能不存在於加載文件中的「標籤」的名稱。如果它不存在,則getTagGroupStartId
返回-1
。重新加載Java枚舉
所有這一切都很好。加載另一個可能包含前一個文件不包含的「標記」的文件或者可能不包含前一個文件包含的「標記」時,會出現問題。在這兩種情況下,我需要更新枚舉中的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);
}
// ...
}
爲什麼你在新行上放置右括號?這使得代碼非常不可讀。我花了10秒鐘才發現'{}'裏面的代碼是構造函數的一部分。 –
枚舉在我的代碼中非常龐大,因此它更具可讀性。我從我的代碼複製它,並刪除了噪音,但沒有改變。現在修復它。 – ubiquibacon