Jeu de Java : Pourquoi StringBuilder devrait-il être employé au lieu de StringBuffer ?
Dites-d'abord moi ce qui est la meilleure manière d'enchaîner le grand nombre des objets de corde ? Est-il a + b ?
La plupart des lotisseurs de Java savent pour ne pas employer a + b (+ opérateur) en raison des problèmes d'exécution énormes, ils emploient StringBuffer à la place. En fait j'ai fait quelques essais dans le passé qui confirme ce folklore. Cependant vous ne pouvez pas savoir qu'il y a nouvel enfant sur le bloc - StringBuilder.
java.lang.StringBuilder est cousin de java.lang.StringBuffer (comme java.util.HashMap est à java.util. La table de brouillage ou le java.util.HashSet est à java.util. Vecteur) mais sans synchronisation aérienne. À moins que vous deviez enchaîner une corde des fils multiples, vous êtes susceptible d'obtenir une meilleure exécution avec StringBuilder.
Classé sous comment à, logiciel de Java, programmant |
|
RSS 2.0 |
Trackback cet article |
Envoyez cet article
Vous pouvez également aimer lire |




































23 août 2008 à 1:38 P.M.
Pouvons nous nous arrêtons avec l'affirmation pernicieuse et incorrecte qui utilisant le `+ le ' opérateur pour enchaîner des cordes est lent.
Courez un repère premier.
Pour des cas communs utilisant + l'opérateur pour construire une corde n'est pas plus lent que l'approche d'amortisseur de corde de vieux modèle. Elle n'a pas été depuis autour de Java 1.4.2 ou 1.5. Elle est plus lente pour de grandes concaténations - en se réunissant dites 1000 cordes ou plus dans une plus grande corde…
http://paulbarry.com/articles/2007/03/15/java-string-concatenation
http://www.ibm.com/developerworks/java/library/j-jtp04223.html
http://www.javaworld.com/javaforums/showflat.php?Cat=2&Number=94239&an=0&page=0
OK ?
23 août 2008 à 7:15 P.M.
Vous « java.util.ArrayList moyen est à java.util. Vecteur ».
24 août 2008 à 12:06 AM
@Porter
J'ai couru un repère, vous aussi peux courir un si vous aimez. L'essai utilisant + pour la grande concaténation et lui suce vraiment. Oui, je parle du grand nombre de cordes comme dis dans a pour la boucle - la « meilleure manière d'enchaîner le grand nombre de la corde objecte ». J'ai pensé que j'étais très certain sur celui.
24 août 2008 à 12:06 AM
@Burt
Oui, ArrayList, mon mauvais. Merci.
24 août 2008 à 9:59 AM
Voici un article que j'ai écrit sur le sujet :
StringBuffer contre la comparaison d'exécution de StringBuilder
Vous pourriez la trouver utile.
À la votre