String et StringBuffer vitesse et fonctionnement
Bonjour,
Je viens de regarder les différences de vitesse entre les deux entre les deux :
Code:
1 2 3 4 5 6 7
| StringBuffer buffer = new StringBuffer("");
for(int i=0;i<10000;i++)
buffer.append("a");
String buffer2 = new String();
for(int i=0;i<10000;i++)
buffer2 += "a"; |
Et j'obtient des résultat assez surprenant. 462ms pour la partie String et 50ms pour une StringBuffer. La différence est-elle normale ?
J'aimerais donc savoir comment fonction String.
D'après ce que j'ai vue. Quand on utilise un type String. si on fait buffer2 += "a", il y a un appel a StringBuilder pour créer la chaine puis un appel a toString pour récupérer celle-ci ?
Merci de m'aider à comprendre.