Clonar, clone(), un array de objetos.
Publicado por Perico (1 intervención) el 09/11/2011 20:34:16
Hola.
Estoy intentando hacer un método clone() de un array bidimensional (una matriz de toda la vida) que contiene objetos pero me da problema de "Aliasing".
¿Sería esto correcto?
this.matriz[x][y].clone() es una llamada al clone() de los objetos que contiene la matriz en cada posición.
Estoy intentando hacer un método clone() de un array bidimensional (una matriz de toda la vida) que contiene objetos pero me da problema de "Aliasing".
¿Sería esto correcto?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@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;
}
this.matriz[x][y].clone() es una llamada al clone() de los objetos que contiene la matriz en cada posición.
Valora esta pregunta


0