我如何在没有得到NullPointerException的情况下将Elist分为两个Elists。我已经尝试过EcoreUtil.copy()/ Collections.copy。问题似乎是,在声明复制目标列表时,需要使用= null进行初始化;我还尝试使用Iterator复制元素,并尝试将.set().add()添加到上面所有带有异常的退出中。目标List的声明似乎仅在分配中起作用。在调试时,我清楚地看到列表中复制的对象不是null。

 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的正确方法,该构造函数创建没有初始容量的空实例。数据存储将为null。和HOP的作品。

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

关于java - 如何使用Eclipse EMF复制通用列表?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60318233/

10-09 00:38