자바/자바팁
레퍼런스까지 같이 복사하는 Clone 함수 사용법
행복한 수지아빠
2013. 6. 27. 16:51
반응형
public class CloneMainCls {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
MyNumbers mn = new MyNumbers();
MyNumbers mn2 = (MyNumbers) mn.clone();
mn2.getNumbers()[1] = 3;
System.out.println(mn.getNumbers()[1] + ":" + mn2.getNumbers()[1]);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class MyNumbers implements Cloneable{
private int[] numbers = null;
MyNumbers(){
numbers = new int[]{0,1,2,3,4,5,6,7,8,9};
}
@Override
protected Object clone() throws CloneNotSupportedException {
MyNumbers numbers2 = (MyNumbers)super.clone();
numbers2.numbers = (int[]) numbers.clone();
return numbers2;
}
public int[] getNumbers() {
return numbers;
}
}
반응형