Bonjour,
j'essaie de cloner un objet mais apparemment je ne le fais pas comme il faut.
Voici mon code:
et j'appel cette méthode comme ceci:Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 public class Piece implements Cloneable{ ... public Object clone() { Object o = null; try { // On récupère l'instance à renvoyer par l'appel de la // méthode super.clone() o = super.clone(); } catch(CloneNotSupportedException cnse) { // Ne devrait jamais arriver car nous implémentons // l'interface Cloneable cnse.printStackTrace(System.err); } // on renvoie le clone return o; } }
Normalement je devrais avoir deux objets différents mais chez moi pieceUsinee et pieceOld pointent vers le même objet.Code:
1
2
3 Piece pieceUsinee = new Piece(); Piece pieceOld = (Piece) pieceUsinee.clone();
Une modification sur pieceUsinee se répercute sur pieceOld. (Dans le debugger d'eclipse, on peut voir que ces deux variables on le même id)
Qu'est ce que je dois faire pour réparer sa?
Merci pour vos réponses.