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