al primo corso di programmazione avevamo implementato una pila e per farne una copia abbiamo reimplementato la clone in questo modo.
Magari ti torna utile.
La classe V(int s) costruisce una pila. in pratica viene costruito un oggetto temporaneo che viene riempito con l'originale
codice:
class V implements Clonable {
int x[];V(int s){…}public String toString(){…}
public Object clone(){
Object tmp=null; //l'oggetto che creero'
try {
tmp=super.clone(); //copia di base
} catch (CloneNotSupportedException e) {
e.printStackTrace(); return null;
}
((V)tmp).x=new int[x.length]; //adattamento
for (int k=0;k<x.length;k++)((V)tmp).x[k]=x[k];
return tmp;
}}
poi la richiamo così
codice:
V p1=new V(5);
V p2=p1.clone();