java  

RE: StringBuffer

Zeljko VELAJA
Fri, 15 Nov 2002 03:36:50 -0800

C'est un "bêtise" classique, mais à voir la Javadoc, c'est à peu près normal
qu'on la fasse ...

Dans ton exemple, StringBuffer(200) crée un buffer dont la CAPACITE est de
200 caractères : autrement dit, tu pourras ajouter jusqu'à 200 caractères
avant que le buffer ne fasse une réallocation de mémoire. Par contre, la
TAILLE de ton buffer est de 0, ce qui explique que tu ne peux pas faire
d'insertion (insert), mais seulement des ajouts (append), ce qui n'est pas
très logique à mon sens, mais bon ...

Pour corriger, tu dois faire :

StringBuffer lov036 = new StringBuffer(200); // garder l'argument est
préférable
lov036.setLength(200);
lov036.insert(1, "TEST");

Je n'ai pas testé, mais ça devrait marcher.

-----Message d'origine-----
De : Nicolas Deroussent [mailto:nicolas.deroussent@;swisslife.tm.fr]
Envoyé : vendredi 15 novembre 2002 12:17
À : [EMAIL PROTECTED]
Objet : StringBuffer


Bonjour à tous,

Je voudrais créer une chaine de 200 caractères blancs et ensuite insérer
dans cette chaine du caractères à une certaine position.

J'ai utilisé un StringBuffer en faisant ceci :

StringBuffer lov036 = new StringBuffer(200);
lov036.insert(1,"TEST");

mais j'ai une exception IndexOutOfBounds

Qui peux-me dire la bétise que j'ai faite.

Merci d'avance


Nicolas Deroussent