使用 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。
我正在尝试从对象 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。