文字列の配列ではなく列挙型を使用して、他の開発者がコードをより拡張できるようにしようとしています。私は持っている:
public enum FOO {
A, B, C, D, E
}
と
public enum BAR {
Z, Y, X, W
}
繰り返し定義できるようにFOO
したい:
D, E, F(Z), F(Y), F(X), F(W)
そのため、BAR に項目を追加すると、自動的に FOO に追加されます。FOO のメソッドである必要があり、BAR はほぼ確実に内部クラス (つまりプライベート) である必要があると思いますが、その方法がわかりません。使用する
for (BAR b : BAR.values()) {}
少なくとも解決策の一部のようです。参考までに、私はパスファインダー RPG スキルを使用しています。各スキルのリストは次のとおりです。
public enum SkillsEnum {
ACROBATICS,
APPRAISE,
BLUFF,
CLIMB,
CRAFT,
DIPLOMACY,
DISABLE_DEVICE,
DISGUISE,
ESCAPE_ARTIST,
FLY,
HANDLE_ANIMAL,
HEAL,
INTIMIDATE,
KNOWLEDGE(KnowledgeList.values().[0])
KNOWLEDGE(KnowledgeList.values().[1]) etc
}
enum KnowledgeList {
ARCANA,
DUNGEONEERING,
ENGINEERING,
GEOGRAPHY,
HISTORY,
LOCAL,
NATURE,
NOBILITY,
PLANES,
RELIGION
}