Modif d'un arrayListe étrange
Bonjour, voila je viens de résoudre un problème mais je me demande si cette démarche fait partie des bonnes pratiques.
Auparavant j'avais le code suivant :
Code:
1 2 3 4 5 6 7 8
|
ArrayList<Point[]> listeClicks = new ArrayList<Point[]>();
Point[] point = new Point[2];
for (Solution solution : solutionsClicks) {
point[0] = solution.getOrigine().coordonneesPixel;
point[1] = solution.getFin().coordonneesPixel;
listeClicks.add(point);
} |
A chaque fois que je changeais ma variable point cela me changeait également toutes les occurences que j'avais rajouté dans mon arrayList listeClicks. Du coup j'ai changé mon code pour le suivant :
Code:
1 2 3 4 5 6 7 8 9
|
ArrayList<Point[]> listeClicks = new ArrayList<Point[]>();
Point[] point = null;
for (Solution solution : solutionsClicks) {
point = new Point[2];
point[0] = solution.getOrigine().coordonneesPixel;
point[1] = solution.getFin().coordonneesPixel;
listeClicks.add(point);
} |
Tout marche bien maintenant mais je trouve ce comportement vraiment bizarre, pouvoir changer les anciennes occurences de mon tableau. Y'a t'il un article des les tutos ou la FAQ de developpez.com qui explique ce comportement. D'ailleurs cette façon de faire est-elle la bonne ou faut-il pas mieux que je clone mon point?