Foros del Web » Programación para mayores de 30 ;) » Java »

clonar

Estas en el tema de clonar en el foro de Java en Foros del Web. hola tengo esta clase: public class Columna implements Cloneable{ private int indice = 0; private Object valor; public Object clone(){ Columna obj=null; try{ obj=(Columna)super.clone(); }catch(CloneNotSupportedException ...
  #1 (permalink)  
Antiguo 23/03/2010, 13:12
 
Fecha de Ingreso: noviembre-2004
Ubicación: Asuncion - Paraguay
Mensajes: 155
Antigüedad: 20 años, 1 mes
Puntos: 0
clonar

hola tengo esta clase:

public class Columna implements Cloneable{

private int indice = 0;
private Object valor;

public Object clone(){
Columna obj=null;
try{
obj=(Columna)super.clone();
}catch(CloneNotSupportedException ex){
System.out.println(" no se puede duplicar");
}
return obj;
}

}

luego cargo un Arraylist de Columna y luego paso a un array de Columna[]

Columna[] colsOriginal = (Columna[])lCols.toArray(new Columna[lCols.size()]);

quiero clonar pero no me clona

Columna[] colsClonado = (Columna[])colsOriginal.clone();

que es lo que estoy haciendo mal.

Disculpen la molestia
  #2 (permalink)  
Antiguo 23/03/2010, 14:29
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 2 meses
Puntos: 454
Respuesta: clonar

Pues que no has implementado el método clone(). La clase Object tiene un clone(), pero no implementa Clonable y no clona (echa un ojo a la api del método clone() en la clase Object, hacia el final).

No debes llamar a super.clone(), sino encargarte tú en ese método de clonar cada uno de los atributos de la clase Columna.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: clonar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:33.