Hallo allerseits
Dass es inperformant ist, Strings mit dem Operator '+' zu verketten, wissen wir mittlerweile alle. Doch was ist das richtige Vorgehen?
1. Den StringBuffer verwenden
2. Den StringBuilder verwenden
3. Den StringWriter verwenden
4. concat() auf String aufrufen
Bzw. verstehe ich den Unterscheid der oben genannten Klassen nicht wirklich. StringBuffer und -Builder stellen einen Konstruktor zur Verfügung, der einen String erwartet. Im Unterschied zum StringWriter wird dann die Methode append() zur Erweiterung des Strings verwendet, beim StringWriter verwendet man write().
Nun, wozu drei Klassen, die (soviel ich weiss) das Gleiche tun? Wo liegt der Unterschied? Was sollte man in welchem Fall verwenden? Wie sieht es eigentlich mit concat() aus? Ist das in irgendeiner Weise "besser" als die Verkettung mit dem '+'-Operator?
Dass es inperformant ist, Strings mit dem Operator '+' zu verketten, wissen wir mittlerweile alle. Doch was ist das richtige Vorgehen?
1. Den StringBuffer verwenden
2. Den StringBuilder verwenden
3. Den StringWriter verwenden
4. concat() auf String aufrufen
Bzw. verstehe ich den Unterscheid der oben genannten Klassen nicht wirklich. StringBuffer und -Builder stellen einen Konstruktor zur Verfügung, der einen String erwartet. Im Unterschied zum StringWriter wird dann die Methode append() zur Erweiterung des Strings verwendet, beim StringWriter verwendet man write().
Nun, wozu drei Klassen, die (soviel ich weiss) das Gleiche tun? Wo liegt der Unterschied? Was sollte man in welchem Fall verwenden? Wie sieht es eigentlich mit concat() aus? Ist das in irgendeiner Weise "besser" als die Verkettung mit dem '+'-Operator?