2013-07-17 3 views
0

Как создать независимую копию объекта route? Проблема в том, что все обновления, применяемые к route_copy, также применяются к route. Как этого избежать?Создать независимую копию объекта

public class Route implements Cloneable, Comparable<Route> { 
//... 
    protected Object clone() throws CloneNotSupportedException { 
     return super.clone(); 
    } 
//... 
} 

public void processData(Route route) 
{ 
     route_copy = null; 
     try { 
      route_copy = (Route) route.clone(); 
     } catch (CloneNotSupportedException e) { 
      e.printStackTrace(); 
     } 
//... 
} 

ответ

2

Вы можете предоставить метод глубокой копии в своем классе или в конструкторе копирования. Проверьте этот связанный пост, чтобы понять, как это сделать:

Copy constructors and defensive copying

Смежные вопросы