[résolu] ArrayList enregistre mal

ArrayList enregistre mal [résolu] - Java - Programmation

Marsh Posté le 26-01-2006 à 22:31:25    

Bonjour,
J'enregistre un tableau de string dans une arrayList :
 

Code :
  1. ArrayList ar = new ArrayList();
  2. String s[] = new String[13];
  3. for (...) {
  4. val1 = rand();
  5. val2 = rand();
  6. s[0] = val1
  7. s[1] = val2;
  8. ...
  9. ar.add(s)
  10. }
  11. ListIterator iterateur = ar.listIterator();
  12. while(iterateur.hasNext()){
  13. s = (String[])iterateur.next();
  14. val1 = s[0];
  15. val2 = s[1];
  16. }


Quand je ressort les tableau de string d'arrayList grace à l'itérateur, j'ai toujours le même tableau de string enregistré le dernier.  
Les valeurs récupéré sont toujours les mêmes.  :(  
 
Merci d'avance pour votre aide.


Message édité par hugo25 le 27-01-2006 à 00:15:20
Reply

Marsh Posté le 26-01-2006 à 22:31:25   

Reply

Marsh Posté le 26-01-2006 à 22:38:36    

Been je sais pas si tu te rends compte, mais t'as un seul tableau de String dans tout ton script [:petrus75]
 
Tu références toujours le même, donc tout ce que tu fais c'est modifier en permanence le même tableau et mettre des références vers le même tableau dans toutes les cases de ton arraylist [:pingouino]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 26-01-2006 à 22:44:49    

Oui c'est ce que je pensais. J'ai fais ca en pensant que java créait une copie du tableau de String. Donc en fait il copie juste le "pointeur" du tableau.
Mais comment créer un nouveau tableau de string dans un boucle ? je met juste la déclaration de String s[] = new String[13]; à l'intérieur de la boucle for ?

Reply

Marsh Posté le 26-01-2006 à 23:02:42    

oui [:romf]

Reply

Marsh Posté le 18-03-2006 à 14:03:21    

[:x-httpd-php]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
Reply

Marsh Posté le 18-03-2006 à 18:17:07    

powel42 a écrit :

Et oui ... j'avais aussi buté sur ce problème et j'ai été déçu de voir que la notion de "pointeur" existait toujours, alors que Java se veut "tout objet".


Strictement aucun lien [:itm]  

powel42 a écrit :

Puis je me suis rendu compte qu'on utilise beaucoup plus souvent la copie du "pointeur" que la copie de l'objet.


C'est pas parce que tu ne comprends pas la notion de références qu'elle est mauvaise

powel42 a écrit :

Toujours ce fossé entre les beaux conceptes et les besoins concrets ...


Ouh là, crois moi, les besoins concrets ne sont sûrement pas de créer des copies d'objet à tout va, t'as sûrement pas envie que ta JVM nécessite 4Go de RAM pour un hello world [:itm]


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 19-03-2006 à 09:10:41    

... J'espérais que personne ne tombe sur mon dernier message, loupé :D
Réflexion faite, j'ai dis beaucoup de conneries en 4 lignes, alors oublions tout ça :o


Message édité par powel42 le 19-03-2006 à 09:23:02
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed