|
Bas de page | |
---|---|
Auteur | Sujet : problème de HashMap résolu, mais besoin d'explications, bug JAVA ? |
Publicité | Posté le 12-01-2009 à 16:53:44 |
Bidem |
Message cité 1 fois Message édité par Bidem le 12-01-2009 à 17:50:03 |
crazywolf | Effectivement j'utilise la même instance de tableau a chaque fois dans ma boucle, mais je réaffecte toute les valeurs du tableau à chaque passage de la boucle. Et j'ai vérifié, mes rs.getString ne sont jamais vides ou null. Et de plus, on voit bien dans mon exemple que la valeur de la 2e entrée du tableau n'est pas la même au 2e passage. Mais je viens de faire un test, si je fais la même chose avec une String au lieu d'un tableau de String, je n'ai pas de soucis. Donc pourquoi dans le cas d'un tableau de String c'est l'adresse de mon tableau qui est passée, et pas dans le cas d'une simple String ? [EDIT] : Et merci pour la réponse
Message cité 1 fois Message édité par crazywolf le 12-01-2009 à 18:07:53 |
el muchacho Comfortably Numb |
Message cité 1 fois Message édité par el muchacho le 12-01-2009 à 19:24:38 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Taz bisounours-codeur |
crazywolf |
|
Taz bisounours-codeur | Bah autant pas saper ton travail dès le début en adoptant des techniques adéquates. |
crazywolf |
|
crazywolf |
|
Taz bisounours-codeur |
Publicité | Posté le 13-01-2009 à 13:31:32 |
crazywolf |
|
Bidem |
|
crazywolf |
Message édité par crazywolf le 13-01-2009 à 15:35:20 |
Bidem |
|
crazywolf | [quote]
. Donc qu'est-ce qui fait que ce n'est pas pertinent ? Parce que c'est une primitive ? |
el muchacho Comfortably Numb | String n'est aucunement une primitive, c'est un objet immutable. Quand tu réaffectes result, tu ne fais qu'affecter un pointeur sur l'adresse d'un nouvel objet String (et l'ancien sera balayé au prochain passage du garbage collector). Message cité 1 fois Message édité par el muchacho le 13-01-2009 à 21:58:18 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
crazywolf |
Haaaaa merci beaucoup !!! Enfin une réponse claire J'avais vu ce concept d'immutable en faisant mes recherches, mais je comprenais pas exactement ce que ça impliquait. Je comprends encore mieux aussi pourquoi parfois le StringBuffer est bien plus performant dans certains cas, à moins que je sois encore à coté de la plaque. Par contre le garbage collector va-t-il vraiment virer l'ancienne valeur de la String si entre-temps une référence à été insérée dans la HashMap ? Il me semble que le garbage collector ne vire que les objets qui n'ont aucun pointeur qui les référencent non ? Message édité par crazywolf le 14-01-2009 à 12:10:17 |
el muchacho Comfortably Numb | oui, avec l'opérateur + sur String, tu recopies les données dans une nouvelle String (l'allocation est rapide, pas la recopie). Ah, et au passage, si tu as l'intention de faire bcp de JDBC, je te conseille fortement de jeter un oeil à iBatis, qui simplifie fortement le boulot. Message édité par el muchacho le 14-01-2009 à 18:45:15 --------------- Les aéroports où il fait bon attendre, voila un topic qu'il est bien |
Sujets relatifs | |
---|---|
probleme afficher image | arbre n-aire, probleme de code |
besoin d'aide pour ecrire un programme en c | probleme php exec avec argument et espace |
Gestion du clavier...Problème :( | Perl et cgi: problème de split |
Probleme Ecriture base de registre VB | [Résolu] Récupération de mails en Imap et sauts de ligne |
Besoin d'Aide | fichier texte ouvert avec fgetcsv() en php (résolu) |
Plus de sujets relatifs à : problème de HashMap résolu, mais besoin d'explications, bug JAVA ? |