[JAVA] Point 63: Méfiez-vous des performances de la concaténation de chaînes

63. Méfiez-vous des performances de combinaison de caractères

Si vous souhaitez combiner beaucoup de caractères, utilisez StringBuilder au lieu d'utiliser l'opérateur +. Puisque String est immuable, un nouvel objet est créé à chaque fois qu'un caractère est combiné.

Voici un exemple de combinaison de caractères utilisant String.

// Inappropriate use of string concatenation - Performs poorly!
public String statement() {
    String result = "";
    for (int i = 0; i < numItems(); i++)
        result += lineForItem(i);  // String concatenation
    return result;
}

Ce qui suit est le cas lors de l'utilisation de StringBuilder.

public String statement() {
    StringBuilder b = new StringBuilder(numItems() * LINE_WIDTH);
    for (int i = 0; i < numItems(); i++)
        b.append(lineForItem(i));
    return b.toString();
}

Recommended Posts

Point 63: Méfiez-vous des performances de la concaténation de chaînes
[Note] Java: mesure la vitesse de concaténation de chaînes
[Java] Comparaison de vitesse de combinaison de chaînes
Diverses méthodes de la classe String
J'ai lu la source de String
Point 57 Réduire la portée des variables locales
Point 57: Minimiser la portée des variables locales
Point 72: Favoriser l'utilisation d'exceptions standard
[Supprimer la première lettre de la chaîne de caractères] Ruby
Point 44: Favoriser l'utilisation d'interfaces fonctionnelles standards
[Java] Obtenir la longueur de la chaîne de paire de substitution
[Java] La partie déroutante de String et StringBuilder
Améliorer les performances de l'environnement de développement Docker
Le monde de Clara-Rules (2)
Jugement du calendrier
Le monde de Clara-Rules (4)
Le monde de Clara-Rules (1)
Le monde de Clara-Rules (3)
Le monde de Clara-Rules (5)
L'idée du tri rapide
L'idée de jQuery
À propos de la troncature de String par le nombre d'octets sur Android
Mettez le fichier dans les propriétés de string avec la configuration spring xml
Le nième et le n + 1er caractères d'une chaîne Ruby
[Java] Essayez de modifier les éléments de la chaîne Json à l'aide de la bibliothèque