Java Problème copie tableau à 2 dimensions

Résolu/Fermé
linderlin - 1 nov. 2011 à 19:59
 geekounet - 11 mai 2012 à 17:12
Bonjour,

J'ai un problème en Java avec la copie de tableaux d'int à 2 dimensions.

Pour copier un tableau dans un autre je fais la chose suivante :
for (int i = 0; i < nb; i++) {
destination[i] = (int[]) model[i].clone();
}
//nb est la taille de mes tableaux

Voilà j'ai une méthode d'une classe en java dont le comportement est le suivant:

//Copie du tableau model dans tableau destination

//Traitements sur le tableau destination

Après le traitement les tableaux devraient être différents. Le tableau destination devrait avoir été modifié et le tableau model rester tel quel. Hors quand je modifie le tableau destination, le tableau model est lui aussi modifié!
Pourtant je n'ai pas fais destination = model !!

En fait je ne sais pas si le problème vient de la copie de mon tableau ou bien d'ailleurs.

Quelqu'un pourrait-il me dire si la copie de mon tableau semble juste??


A voir également:

3 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
1 nov. 2011 à 20:24
C'est le clone() qui coince je pense. Pour que ça marche il faudrait que les tableaux soient Cloneable or je ne pense pas qu'ils le soient... Il vaudrait mieux utiliser System.arrayCopy, mais vu ton problème tu peux aussi faire une deuxième boucle for, ce serait bien mieux.
1
Ok merci j'ai fait comme tu as dit avec 2 boucles for et ça a l'air de marcher!

Bon après j'avais un autre problème que j'ai réussi à résoudre aussi, merci pour ton aide!
1
le cast!!
0