2016-10-03 75 views
0

我正在通過代碼創建基於另一個的代理。原始代理處於正在處理的延遲塊中,我想創建只有id會更改的副本,並執行Enter塊中的方法。迭代代理的參數

爲了從原來的代理複製信息,我似乎無法找到比指定每個參數作爲一個更好的辦法:

newAgent.color = original.color; 
newAgent.component = original.component; 
newAgent.geometry = original.geometry; 
... 
newAgent.LastParameter = original.LastParameter; 

等。

有沒有辦法迭代代理參數來改善此操作?

謝謝你在前進, 路易斯

回答

0

我設法解決我的問題,我張貼的答案,因爲其他人可能會在將來面對它。這很簡單,我已經嘗試過,但有一個類型轉換問題。

的代碼結構如下:

add_myAgents(); 
for(String p : agent.getParameterNames()) 
{ 
    myAgents.get(myAgents.size()-1).setParameter(p, agent.getParameter(p), true); 
} 
enter.take(myAgents.get(myAgents.size()-1)); 

我發現,使用myAgent prod = new MyAgent()沒有工作。重複項必須插入羣體中,因此我創建了一個名爲myAgents的空白種羣,並且存在添加副本的位置。