- - PR -
インスタンスの動的生成について
1|2|3
次のページへ»
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-09-10 13:58
新たにインスタンスを作る時に
A clsName = new A(); 様によくやりますが,下記の様にclsNameを使用者が打ち込み clsNameが新たに入力される度にその名前でインスタンスを作りたいのですが 出来ないのでしょうか? Object[] msg = {"What is class name ?"}; String clsName = JOptionPane.showInputDialog(panel,msg); A clsName = new A(); //雰囲気ではこの3行をfor文で回せばいけそうなんですがねぇ…(;^_^A | ||||
|
投稿日時: 2004-09-10 14:20
Map使うんじゃだめなんですか?
| ||||
|
投稿日時: 2004-09-10 14:39
Class clazz = Class.forName(className);
Object a = clazz.newInstance(); ような方法はいかがでしょうか。 | ||||
|
投稿日時: 2004-09-10 16:17
# ukさんとmikannさんで認識が違うようですね。。。(^^; 変えたいのは、 インスタンス化するクラス インスタンス(への参照)の名前 どちらでしょう? 質問文を見ると後者のようですが。。。であればMapでukさんの おっしゃるようにMapで実現できると思いますが。 | ||||
|
投稿日時: 2004-09-10 18:32
インスタンス化するクラスは同一の物で多くのインスタンス(への参照)の名前を打ち込んで変えていきその度にインスタンス化して増やしたいです。
私自身先ほどまでforName()とnewInstance()で例外を使用して作ろうとしていたのですがどうも違うみたいですね…Mapを使用すれば出来るとの事ですがMapを使用した事が 無いのでなんとも言えないのですがlistやsetでも可能なのでしょうか? | ||||
|
投稿日時: 2004-09-10 19:00
インスタンス化そのものが問題なんではなく、インスタンスを名前で管理するようなイメージでしょうか? であれば、打ち込んだ名前をキーにMapに放り込めばいいように思います。 [ メッセージ編集済み 編集者: Odakaz 編集日時 2004-09-10 19:16 ] | ||||
|
投稿日時: 2004-09-10 22:12
>打ち込んだ名前をキーにMapに放り込めばいいように思います。
打ち込んだ名前をキーとした場合、放り込む値は クラスのインスタンス(オブジェクト?)になると言う事でしょうか? それだと事前にインスタンスを作成する必要があるような…? 見当違いな事を言っていたらすみませんm(_ _)m | ||||
|
投稿日時: 2004-09-10 22:17
add("打ち込んだ名前", new A());
| ||||
1|2|3
次のページへ»
