为了评估我的 uimaFIT 管道,我想建立一个由管道注释并写入 xmi 文件的 JCas 实例列表。在我的评估中,我阅读了 xmi 文件并希望访问每个 xmi 文件的 JCas 并将其保存在列表中以便进一步处理它们。
JCasIterable goldIterable = SimplePipeline.iteratePipeline(xmiReaderGold);
JCasIterator goldIterator = goldIterable.iterator();
ArrayList<JCas> goldJCasList = new ArrayList<JCas>();
while (goldIterator.hasNext()) {
JCas goldJCas = goldIterator.next().getCas().getJCas();
goldJCasList.add(goldJCas);
}
问题在于,在 while 循环的每次迭代中,列表中已在迭代中添加的 JCas 被当前 JCas 覆盖。如何避免这种情况以及如何正确建立我的列表?JCas goldJCas = JCasFactory.createJCas()
在调用next()
迭代器并将 JCas 添加到列表之前,我尝试创建一个新的 JCas 对象。但我仍然得到相同的结果。