J'ai donc ce morceau de code:manipuler un StringBuilder dans un tableau de StringBuilder en java
StringBuilder[] a = new StringBuilder[5];
Arrays.fill(a, new StringBuilder("asdfg"));
a[0].deleteCharAt(0);
for (StringBuilder s : a) {
System.out.println(s);
}
et la sortie
sdfg
sdfg
sdfg
sdfg
sdfg
Il semble que tout élément du tableau est une référence à la même objet StringBuilder, je suppose que c'est à cause de Arrays.fill(). Pourquoi cela arrive-t-il et comment puis-je résoudre ce problème? p.s: Je ne veux pas utiliser une boucle car fill() ne se comporte différemment qu'avec StringBuilder [] et je veux comprendre pourquoi.
Comment voulez-vous dire "fill() se comporte différemment avec StringBuilder []"? Je suis sûr que non. – daniu
Pouvez-vous indiquer ce qui est différent avec 'StringBuilder'? Pouvez-vous fournir un échantillon avec une * classe différente * qui donnera un résultat différent? –