Quiz del Java: Perché StringBuilder dovrebbe essere usato anziché StringBuffer?
In primo luogo dicami che cosa è il migliore senso concatenare il grande numero degli oggetti della stringa? È a + b?
La maggior parte dei sviluppatori del Java sanno per non usare a + b (+ operatore) a causa dei problemi di rendimento enormi, usano StringBuffer preferibilmente. In effetti ho effettuato alcune prove nel passato che conferma questo folclore. Tuttavia non potete sapere che ci è nuovo capretto sul blocco - StringBuilder.
java.lang.StringBuilder è cugino di java.lang.StringBuffer (come java.util.HashMap è a java.util. Il Hashtable o java.util.HashSet è a java.util. Vettore) ma senza la sincronizzazione ambientale. A meno che dobbiate concatenare una stringa dai filetti multipli, siete probabile ottenere la migliore prestazione con StringBuilder.
Archivato sotto come a, software del Java, programmante |
|
RSS 2.0 |
Trackback questo articolo |
Invii con la posta elettronica questo articolo
Potete anche gradire leggere |




































23 agosto 2008 al 1:38 pm
Possiamo ci arrestiamo con l'asserzione perniciosa ed errata che usando il `+ ' l'operatore per concatenare le stringhe è lento.
Faccia funzionare un segno di riferimento primo.
Per usando comune di casi + l'operatore per costruire una stringa è no più lento del metodo dell'amplificatore della stringa di vecchio stile. Non è stato da allora intorno a Java 1.4.2 o 1.5. È più lento per le grandi concatenazioni - montando dica 1000 o più stringhe in una più grande stringa…
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
APPROVAZIONE?
23 agosto 2008 al 7:15 pm
“java.util.ArrayList medio siete a java.util. Vettore„.
24 agosto 2008 al 12:06
@Porter
Ho fatto funzionare un segno di riferimento, voi anche posso fare funzionare uno se gradite. La prova usando + per la grande concatenazione ed esso realmente succhia. Sì, sto parlando del gran numero delle stringhe come dico in a per il ciclo - “il migliore senso concatenare il grande numero di stringa obietta„. Ho pensato che fossi molto chiaro su quello.
24 agosto 2008 al 12:06
@Burt
Sì, ArrayList, il mio Male. Grazie.
24 agosto 2008 al 9:59
Qui è un articolo che ho scritto sull'oggetto:
StringBuffer contro il confronto di prestazione di StringBuilder
Potreste trovarli utile.
Acclamazioni