[英]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.