Problème de référence avec ArrayList

cs_darkstorm Messages postés 44 Date d'inscription dimanche 3 février 2002 Statut Membre Dernière intervention 22 mai 2006 - 25 févr. 2004 à 23:28
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007 - 26 févr. 2004 à 11:21
Bonsoir, voici mon code :

try {
String[] temp = new String[rsmd.getColumnCount()];
while (rs.next()) {
for (int n = 0; n < temp.length; n++) {
temp[n] = rs.getString(n + 1);
}
tempTabObjet.add(temp);
}
} catch (SQLException e) {
System.out.println("Problème pour transformer le rs en objetArray");
return null;
}
return tempTabObjet;

Mon problème est simple, ce bout de code transforme des enregistrements resultset venant d'une base de données en un ArrayList contenant des tableaux de String (un tab par enregistrement), le seul problème c'est que comme j'ajoute chaque fois "temp" dans mon ArrayList, j'ajoute donc toujours la même référence à la même zone mémoire, donc je me retrouve avec tous les enregistrements qui sont en fait le dernier, puisque je modifie en fait toujours la même variable, y a-t-il un moyen de pallier cet inconvénient ?? J'ai pensé d'ajouter mes objets en anonyme mais ce n'est pas possible du moment que je dois les traiter, je suis vraiment dans la M. si qqun pouvait m'aider ça serait sympa !

Merci A+

4 réponses

dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
26 févr. 2004 à 08:50
pourquoi tu ne mets pas ta creation de l'objet temp[] apres le while?
ca reglerait normalement ton probleme, puisque tu creerais des nouvelles tables a chaque tour...
0
cs_darkstorm Messages postés 44 Date d'inscription dimanche 3 février 2002 Statut Membre Dernière intervention 22 mai 2006
26 févr. 2004 à 09:45
Salut, j'ai essayé de le faire mais le résultat ne change pas, pourtant ça devrait initialiser chaque fois une nouvelle variable, je ne comprends vraiment pas...

Merci A+
..................................
0
cs_darkstorm Messages postés 44 Date d'inscription dimanche 3 février 2002 Statut Membre Dernière intervention 22 mai 2006
26 févr. 2004 à 09:58
J'ai trouvé, initialiser la variable à chaque fois marche, l'erreur est après quand je récupère les résultats ça fait la même farce ;-)

Merci A+ et vive le debugger....
..................................
0
dmaillet Messages postés 500 Date d'inscription mercredi 20 août 2003 Statut Membre Dernière intervention 11 juillet 2007
26 févr. 2004 à 11:21
Comme on dit, si tu n'arrive pas a resoudre un pb, c'est qu'il n'y en a pas, ou qu'il est ailleurs...
0
Rejoignez-nous