J'ai une classe Calle
avec un String nombre;
et un int addr;
. Mais, la méthode clone
que j'ai faite me donne les mauvaises valeurs.Vous recherchez la bonne façon de cloner
public class Calle{
String nombre;
int addr;
public Object clone(){
return this;
}
}
Calle c1 = new Calle("a",1);
Calle c2 = c1.clone();
c2.setAddr(3);
System.out.println(c1.addr); // value wrong
Pourquoi la valeur est-elle incorrecte?
b/c vous n'êtes pas en fait le clonage. vous devez réellement créer un nouvel objet et le renvoyer – greedybuddha
Le clonage n'est pas une méthode spéciale, c'est comme n'importe quelle autre méthode en ce qui concerne Java. Vous devez le coder pour cloner réellement l'objet, pas seulement 'return this'. – Patashu