簡體   English   中英

如何使用 Eclipse EMF 復制通用列表?

[英]How to copy a generic list with Eclipse EMF?

如何將一個 Elist 拆分為兩個 Elist 而不會出現 NullPointerException。 我已經嘗試過 EcoreUtil.copy() / Collections.copy。 問題似乎是在聲明復制目標列表時需要使用 = null; 進行初始化。 我還嘗試使用迭代器來復制元素,並嘗試使用 .set() .add() 添加它們,所有這些都以上面的異常退出。 目標列表的聲明似乎只適用於分配。 在調試時,我清楚地看到列表中復制的對象不為空。

 EList<RtTask> tasks = rtModule.getTasks();
 EList<RtModuleInvocation> invoc0 = null; //target List
        for (RtTask rtTask : tasks) {
            EList<RtModuleInvocation> invocations = rtTask.getModuleInvocations(); //src List

謝謝。

感謝https://www.programcreek.com/java-api-examples/emf我找到了使用構造函數初始化我的 Elist 的正確方法,該構造函數創建一個沒有初始容量的空實例。數據存儲將為空。 和 HOP 它的工作原理。

EList<RtModuleInvocation> invoc0 = new BasicEList<>();

如果您想要一個列表的副本,您還可以使用ECollections實用程序:

ECollections.newBasicEList(Iterable)
創建一個包含給定元素的可變BasicEList

因此,要復制RtModuleInvocation列表,您可以使用:

ECollections.newBasicEList(rtTask.getModuleInvocations())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM