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 之一

于 2012-06-17T07:48:09.797 回答
0

什么是“流程图中所有对象的名称”?你有一些按名称存储对象的 HashMap 吗?如果是这样,只需按名称获取对象并直接调用其方法,无需任何反射。

于 2012-06-17T07:54:01.830 回答