2014-08-28 4 views
0

Имея требование скопировать два объекта разных типов. Но эти объекты имеют один и тот же набор элементов. Одним из способов является итерация по одному элементу и копирование элементов. Но его утомительно, когда класс содержит большое количество элементов, а также содержит элементы коллекции.Скопируйте объекты разных типов

Есть ли еще лучшее решение для этой проблемы?

+0

Вы можете создать или использовать API, создающий плотный клон любого объекта. –

+0

Это зависит от того, нужна ли вам мелкая копия 'Collection' или печатной копии. Немного шире. – Mena

+0

Это будет глубокая копия, все элементы должны быть скопированы. – Rosh

ответ

0

Глубокое клонирование не зависит от оригинала, и внесение изменений в клон не должно влиять на оригинал. Глубокий клон не будет влиять ни на что из оригинала. Надеюсь это поможет.

protected Object clone() throws CloneNotSupportedException { 
    Foo cloned = (Foo)super.clone(); 
    cloned.setSomething((Something)cloned.getSomething().clone()); 
    return cloned; 
} 
Смежные вопросы