私は友人とカード ゲームを作成していて、カード ビューアーを作成することにしました。すべてのカードの詳細をテキスト ドキュメントに入力すると、私のプログラムは各カードを 1 行ずつ読み取ります。
カードの種類によってプロパティが異なり、すべてのプロパティは何らかの種類の列挙型で表されます。
文字列のリストを列挙型プロパティのリストに変換するコードがあります。列挙型の例:
public enum Race{
ELVES, HUMANS, DWARFS
}
public enum Rarity{
COMMON, UNCOMMON, RARE
}
カードが複数の種族と複数の希少性を持つことができると仮定すると、文字列のリストと列挙型の型を取り、列挙値のリストを返すメソッドを作成したいと思います。
// Take in an array of strings and a type of Enum value to convert them to
public <Type extends Enum<Type>> Type[] getValues(String[] strings){
// Make an array to hold the enum values
Type[] values = new Type[strings.length];
// For each string, convert it into an enum value and add it to the array
for (int i = 0; i < strings.lenght; i++)
values[i] = Type.valueOf(strings[i]);
return values;
}
このメソッドが機能しないことはわかっていますが、少なくとも私がやろうとしていることを描写していることを願っています。文字列のリストを送信でき、EnumValues のリストに変換するメソッドが欲しいです文字列 {"ELVES", HUMANS"} を関連する Race 値 {ELVES, HUMANS} に変換します。
なぜ私が次のような個別のメソッドを作成しないのかと尋ねるかもしれません。
convertRaceStings(String[] strings){//method workings here}
convertRarityStings(String[] strings){//method workings here}
残念ながら、ここで使用されている 2 つの列挙型は単純な例であり、それぞれ別のメソッドを必要とする多数の列挙型があります。