編集:
私が求めていることが十分に明確ではないように思われますが、もっとよく説明しようとします。
というクラスがありますBoard
このクラスは、整数で埋められた 2 次元配列を持ち、配列内の各整数値はいくつかのクラスに対応します (たとえば、1 は String の短縮形である可能性があります)。
このクラスには、この 2 次元配列を取得してループし、いくつかのクラスの新しいインスタンスを作成する手段もあります。
2 次元配列と、さまざまな整数が対応するクラスをカスタマイズできるようにする必要があります。
私が欲しいものを視覚化するために小さな画像を作成しました: http://i.imgur.com/bZXrw.png
いくつかの擬似コードとともに:
class Board:
Integer[][] some_array = {{1,2,1},{1,2,1}}
someStructure = {1 : createThing, 2 : createSomeOtherThing};
generateObjects():
List[Thing] container = []
for y in some_array:
for x in y:
container.add(someStructure[x]())
return container
古い処方:
Map
オブジェクトを含むはずのクラスが呼び出されInteger[][]
ました。整数配列オブジェクト内の値は、初期化する必要があるオブジェクトに対応しています。
さて、Python のような言語では、たとえば、キーとしていくつかの整数値を持つ辞書と、呼び出されたときに新しいオブジェクトを作成して返すいくつかの関数を持ち、2d-list をループして、dict によって返された関数を呼び出すことができます。Javaでこれを行うにはどうすればよいですか?
私は HashMap を持っていて、何らかのリフレクションを行うことについて考えましたが、何をすべきか本当にわかりません。