Concurso de Java: ¿Por qué StringBuilder se debe utilizar en vez de StringBuffer?
¿Primero dígame cuál es la mejor manera de concatenar el gran número de objetos de la secuencia? ¿Es a + b?
La mayoría de los reveladores de Java saben para no utilizar a + b (+ operador) debido a problemas de funcionamiento enormes, ellos utilizan StringBuffer en lugar de otro. De hecho hice algunas pruebas en el pasado que confirma este folklore. Sin embargo usted no puede saber que hay nuevo cabrito en el bloque - StringBuilder.
java.lang.StringBuilder es primo de java.lang.StringBuffer (como java.util.HashMap está a java.util. La tabla de elección arbitraria o java.util.HashSet está a java.util. Vector) pero sin la sincronización de arriba. A menos que usted necesite concatenar una secuencia de los hilos de rosca múltiples, usted es probable conseguir un mejor funcionamiento con StringBuilder.
Archivado debajo de cómo a, software de Java, programando |
|
RSS 2.0 |
Trackback este artículo |
Envíe por correo electrónico este artículo
Usted puede también tener gusto de leer |




































23 de agosto de 2008 en el 1:38 P.M.
Podemos paramos con la aserción perniciosa y errónea que usando el `+ el ' operador para concatenar secuencias es lento.
Funcione con una prueba patrón primera.
Para los casos comunes usando + el operador para construir una secuencia es no más lento que el acercamiento del almacenador intermediario de la secuencia del viejo estilo. No ha estado desde entonces alrededor de Java 1.4.2 o 1.5. Es más lento para los encadenamientos grandes - montando diga 1000 o más secuencias en una secuencia más grande…
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
¿AUTORIZACIÓN?
23 de agosto de 2008 en el 7:15 P.M.
Usted “java.util.ArrayList malo está a java.util. Vector”.
24 de agosto de 2008 en el 12:06
@Porter
Funcioné con una prueba patrón, usted puedo funcionar también uno si usted tiene gusto. El intento usando + para el encadenamiento grande y él aspira realmente. Sí, estoy hablando de la gran cantidad de secuencias como digo en a para el lazo - la “mejor manera de concatenar el gran número de secuencia se opone”. Pensé que estaba muy claro en ése.
24 de agosto de 2008 en el 12:06
@Burt
Sí, ArrayList, mi malo. Gracias.
24 de agosto de 2008 en el 9:59
Aquí está un artículo que escribí en el tema:
StringBuffer contra la comparación de funcionamiento de StringBuilder
Usted puede ser que la encuentre útil.
Aclamaciones