Gracias. Eso ya lo he hecho:
Código:
@Override
public Matrix clone(){
Matrix copia = null;
try {
copia = (Matrix) super.clone();
copia.matriz = Arrays.copyOf(this.matriz, this.matriz.length);
for(int x = 0 ; x < dimensionX ; x++){
for (int y = 0 ; y < dimensionY ; y++){
copia.matriz[x][y] = this.matriz[x][y].clone();
}
}
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return copia;
}
Yo creo que eso está bien, y this.matriz[x][y].clone(); llama al clone() del objeto que hay en cada posición de la matriz.
Pero creo que algo mal hago, porque el "aliasing" me está dando la tarde.