2016-08-02 2 views
0

Я пытаюсь удалить из объекта resultObjectAtt детей с F. Однако, поскольку я удаляю его из объекта, childElem.size() изменится.Перемещение элементов между объектами с помощью Java

Так что я попытался создать новый объект и назначение старого объекта к нему: 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); 
        } 
       } 
      } 
     }  

ответ

0

Это назначение просто создает псевдоним resultObjectAtt. Если resultObjectAtt является клонированным, вы можете использовать resultObjectAtt.clone() для получения нового объекта. В противном случае вам нужно будет построить okResultObject другими способами, такими как итерация через узлы resultObjectAtt и добавление одинаковых значений в okResultObject.