Bonjour,

j'essaie de cloner un objet mais apparemment je ne le fais pas comme il faut.

Voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
  	}
}
et j'appel cette méthode comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
Piece pieceUsinee = new Piece();
Piece pieceOld = (Piece) pieceUsinee.clone();
Normalement je devrais avoir deux objets différents mais chez moi pieceUsinee et pieceOld pointent vers le même objet.
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.