String et StringBuilder sont souvent utilisés dans les projets. String peut être épissé avec "+", et StringBuilder peut être épissé avec append. Je n'ai jamais compris pourquoi je devrais utiliser StringBuilder puisque je peux utiliser String. Bien que j'utilise habituellement StringBuilder pour fusionner les instructions de requête lors des requêtes de base de données, je n'en connais toujours pas la raison. Quand je regardais la vidéo aujourd'hui, j'ai revu StringBuffer et j'ai senti que l'utilisation était similaire, j'ai donc vérifié les différences entre ces choses.
Il se résume ainsi :
1. Comparaison en termes de vitesse d'exécution : StringBuilder > StringBuffer
2. StringBuffer et StringBuilder, ce sont des variables de chaîne et des objets modifiables. Chaque fois que nous les utilisons pour opérer sur des chaînes, nous opérons en fait sur un objet. Ce n'est pas comme créer des objets pour fonctionner comme String.
3.StringBuilder : thread non sécurisé
StringBuffer : thread-safe
Lorsque notre tampon de chaîne est utilisé par plusieurs threads, la JVM ne peut pas garantir que le fonctionnement de StringBuilder est sûr. Bien qu'il soit le plus rapide, il peut garantir que StringBuffer peut fonctionner correctement. Bien entendu, dans la plupart des cas, nous effectuons des opérations dans un seul thread, il est donc dans la plupart des cas recommandé d'utiliser StringBuilder au lieu de StringBuffer pour des raisons de rapidité.
Résumé de l'utilisation des trois :
1. Si vous souhaitez exploiter une petite quantité de données, utilisez String
2. Fonctionnement monothread du tampon de chaîne pour exploiter une grande quantité de données StringBuilder
3. Fonctionnement multithread du tampon de chaîne pour gérer une grande quantité de données StringBuffer