StringBuilder vs StringBuffer vs String.concat – done right | kaioa.com

Publié dans Java | Marqué avec , ,
Share

D’après cet article StringBuilder vs StringBuffer vs String.concat – done right | kaioa.com (en anglais), il est plus avantageux en terme de performance d’utiliser StringBuilder à partir de Java 1.5 (ou StringBuffer pour les versions antérieures) que de concaténer des chaînes de caractères à coups de concat. Les chiffres sont assez parlant !

Each time you append something via ‘+’ (String.concat()) a new String is created, the old stuff is copied, the new stuff is appended, and the old String is thrown away. The bigger the String gets the longer it takes – there is more to copy and more garbage is produced.

Ce que l’on pourrait traduire par :

A chaque fois que l’on concatène à l’aide de String.concat(), une nouvelle instance de String est créée, l’ancienne étant copiée, accolée à la nouvelle, puis jetée. Plus longue est la chaîne de caractères et plus longtemps cela prendra. Donc plus on concatène, plus on créé du déchet.

De plus, le compilateur Java va transformer tout seul les concaténations manuelles avec des « + » ou des « line breaks » en utilisant des StringBuillder::append. Donc on peut utiliser sans problèmes cette écriture ! C’est de loin la plus lisible pour de petites chaînes de caractères. Quant aux autres : StringBuilder à la rescousse !

Voilà qui est bon à savoir 🙂

Pour aller un peu plus loin avec StringBuiler

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *