piątek, 12 kwietnia 2013

JAVA - kopiowanie obiektów

Przed kopiowaniem/klonowaniem obiektu należy zastanowić się czy chcemy uzyskać kopię wraz z referencją czy nie.


1) Kopiowanie z referencją:

public class MyDTO implements Cloneable{

    public MyDTO(){
    }
 
    ... 
 
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}


2) Kopiowanie bez referencji:
 Najprostszym sposobem jest wykorzystanie klasy 'org.apache.commons.lang.SerializationUtils'
       MyDTO newMyDTO= (MyDTO )SerializationUtils.clone(oldMyDTO);