使用 Java 在对象之间移动元素

Moving elements between objects using Java

我正在尝试从对象 resultObjectAtt 中删除具有 F 的子项。 但是,由于我将其从对象中移除,childElem.size() 将会改变。

所以我尝试创建一个新对象并将旧对象分配给它: okResultObject = resultObjectAtt;

但结果相同,有什么帮助吗?

  okResultObject = resultObjectAtt;    
  for (int j = 0; j < childElem.size(); j++) {

    subChildElem = childElem.get(j).getChildren();

        for (int j2 = 0; j2 < subChildElem.size(); j2++) {
            Name = subChildElem.get(j2).getName();
            Value = subChildElem.get(j2).getValue();

            if(Name.equalsIgnoreCase("TYPE")){
                if(Value.equals("F")){
                    okResultObject.getRootElement().getChildren().remove(j);
                    convertDocumentToXmlFile("C:\test.xml", okResultObject);
                    }
                }
            }
        }       

该赋值只是创建了 resultObjectAtt 的别名。如果 resultObjectAtt 是可克隆的,那么您可以使用 resultObjectAtt.clone() 来获取新对象。否则,您将需要通过其他方式构建 okResultObject,例如遍历 resultObjectAtt 的节点并将相同的值添加到 okResultObject。