La Concaténation de chaîne à l'aide de concat opérateur (+) ou de la Ficelle.méthode format()
Qui sera mieux de les utiliser pour la Concaténation de Chaîne
Si je veux construire une chaîne à partir de tas de variables de chaîne de caractères comme str1 et str2,
qui sera mieux ???
- Chaîne Concat opérateur
String str="This the String1 " + str1 + " merged with Sting2 " + str2;
- Format de la chaîne de méthode
String str=String.format("This the String1 %s merged with Sting2 %s", str1 , str2);
Ce que je pense est le deuxième sera mieux , parce que d'abord on va souffrir de la création de beaucoup de cordes.
corrigez-moi si je me trompe ? et de fournir une rétroaction sur la même
double possible de Est-il préférable d'utiliser des chaînes de caractères.le format par rapport à la Concaténation de chaîne en Java?
OriginalL'auteur ajduke | 2011-12-14
Vous devez vous connecter pour publier un commentaire.
La première ne sera pas réellement créer toutes les cordes supplémentaires. Il sera compilé dans quelque chose comme:
Étant donné que la deuxième exige l'analyse de la chaîne de format, je ne serais pas surpris si le premier fonctionne en fait plus rapide.
Cependant, sauf si vous avez des repères pour prouver que c'est vraiment un morceau de code qui s'exécute trop lentement pour vous, vous ne devriez pas être trop inquiet à propos de l'efficacité. Vous devriez être plus inquiet au sujet de la lisibilité. Le code qui ne vous trouvez plus lisible?
Yep, essayez d'éviter l'optimisation!
Wow! arrivés à savoir compilation de concaténer opérateur de StringBuilder. De la lisibilité point de vue ,obiviously premier a l'air mieux
OriginalL'auteur Jon Skeet
Le premier aura pas à souffrir de la création de Chaînes de caractères. Comme tout ce qui est statique, une seule StringBuilder est créé, toutes les pièces sont ajoutés, puis toString est appelé. Il sera légèrement plus efficace que la seconde, qui doit analyser la chaîne de format. Mais ce n'est probablement pas où vous perdre ou à un gain de performance.
De concaténation de chaîne crée un grand nombre d'objets temporaires quand vous le faites dans une boucle:
Cela va créer un StringBuilder et un objet de type String à chaque itération.
OriginalL'auteur JB Nizet
Il dépend du nombre de chaînes, vous concaténez. Jusqu'à 5 (ish), il ne sera probablement pas d'importance.
Mesure pour votre cas particulier si vous avez vraiment besoin de cette optimisation.
OriginalL'auteur Mitch Wheat
liens suivants peuvent vous aider.
Est-il une différence entre la Chaîne concat et l'opérateur + dans Java?
http://www.devdaily.com/blog/post/java/use-string-format-java-string-output
OriginalL'auteur Noufal Panolan