1

私は AnyLogic というシミュレーション環境で作業しており、その基盤となるコードとして Java を使用しています。

私の例では、ユーザーがフローチャートを描画し、実行時にフローチャートの各要素がインスタンス化されます。ユーザーが何を描画したかをコードで判断できます。

           LinkedList eo = (LinkedList) this.getEmbeddedObjects();
  • これは、フローチャート内のすべてのオブジェクトの名前を表す文字列のリストを返します。

これらのオブジェクトのメソッドに動的にアクセスしたいのですが、Java は初めてで、どうすればよいかわかりません。リフレクションについて理解していることから、classForName をインスタンス化できますが、この場合、インスタンス化されたオブジェクトが既にあり、文字列を使用してそれらにアクセスしたいと考えています。

どのように進めればよいかわかりませんが、何か提案があればよろしくお願いします。

ありがとう :-)

4

3 に答える 3

2

http://java.sun.com/developer/technicalArticles/ALT/Reflection/

メソッド名のリストを取得し、必要なものを見つけて呼び出すことができます。

于 2012-06-17T07:43:49.180 に答える
1

タスクにはJavaリフレクションAPIを使用できます。

ただし、このAPIはやや冗長です。それが問題である場合は、利用可能な流暢な リフレクション APIの1つを使用する必要があります。

于 2012-06-17T07:48:09.797 に答える
0

「フローチャート内のすべてのオブジェクトの名前」とは何ですか? オブジェクトを名前で格納する HashMap はありますか? その場合は、オブジェクトをその名前で取得し、そのメソッドをリフレクションなしで直接呼び出します。

于 2012-06-17T07:54:01.830 に答える