Cuando usé Java antes, sabía que había una clase llamada StringBuffer para una cadena con costuras más largas. Después de recurrir a C#, también hay un tipo de función llamada StringBuilder.
Más tarde, cuando transfirí de regreso a Java, descubrí que Java también tenía StringBuilder, así que tenía curiosidad por qué lanzé StringBuilder después de StringBuffer.
Resulta que StringBuilder de Java (igual que C#) es una seguridad no del retraso, y StringBuffer anterior tiene un cierto atributo de seguridad de subprocesos. Por supuesto, el lanzamiento de StringBuilder se debe principalmente a que no es necesario usarlo en múltiples hilos.
El caso común de StringBuilder (o StringBuffer) es ::
Public String toString () {return new StringBuilder () .Appnd ("Nombre:" + nombre) .Appnd ("foo:" + foo) .appnd ("bar:" + bar) .tring ();}
En este caso, StringBuilder no es un miembro de la clase.
Como resultado, la introducción de StringBuilder trajo una gran mejora del rendimiento, y no hubo ningún problema de seguridad ...