[Vector]:utiliser une donnée récupérée à partir d'un Vecteur
cs_nikitidz
Messages postés2Date d'inscriptiondimanche 1 mai 2005StatutMembreDernière intervention 1 mai 2005
-
1 mai 2005 à 13:40
bjdc
Messages postés16Date d'inscriptionsamedi 7 mai 2005StatutMembreDernière intervention18 mai 2005
-
7 mai 2005 à 14:31
bonjour tous le monde,
je posséde un Vecteur de tableaux d'entier (Possibilities). le remplissage
c'est ok mais quand je récupère une donnée de ce Vecteur et que je la
modifie, je trouve que celle se trouvant dans le Vecteur change aussi.
voici le code:
int Possibility[]=Possibilities.get(0);
int temp=Possibility[0];
Possibility[0]=Possibility[Possibility.Length-1];
Possibility[Possibility.Length-1]=temp;
Si au départ Possibilities[0] contient l'élément {2,1,4} et que Possibility apres
permutaion contient {4,1,2} alors je trouve Possibilities[0] ={4,1,2}
bjdc
Messages postés16Date d'inscriptionsamedi 7 mai 2005StatutMembreDernière intervention18 mai 2005 7 mai 2005 à 13:56
Premiere chose : en java les tableaux sont des objets autant que des
types. Cela vient du fait qu'il n'est pas possible de creer de nouveaux
types primitifs en Java, et qu'il cree a la place une pseudo classe.
La methode get ne duplique pas l'objet, elle t'en donne une reference.
Donc effectivement que tu utilises la reference dans Possibilite ou
celle de Possibility, tu manipules toujours le meme objet. Tout
objet descend de Object, tu peux donc utiliser la methode clone() pour
dupliquer l'objet.