Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/11/2011, 13:43
varuk
 
Fecha de Ingreso: abril-2004
Mensajes: 107
Antigüedad: 20 años
Puntos: 0
Respuesta: ¿Clone() NO superficial de matrices?

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.