String y StringBuilder se usan a menudo en proyectos. String se puede unir con "+" y StringBuilder se puede unir con append. Nunca entendí por qué debería usar StringBuilder ya que puedo usar String. Aunque habitualmente uso StringBuilder para unir declaraciones de consulta cuando realizo consultas de bases de datos, todavía no sé el motivo. Cuando estaba viendo el video hoy, vi StringBuffer nuevamente y sentí que el uso era similar, así que verifiqué las diferencias entre estas cosas.
Se resume de la siguiente manera:
1. Comparación en términos de velocidad de ejecución: StringBuilder > StringBuffer
2. StringBuffer y StringBuilder, son variables de cadena y objetos modificables. Siempre que los usamos para operar con cadenas, en realidad estamos operando con un objeto. No es como crear algunos objetos para operar como String.
3.StringBuilder: subprocesos inseguros
StringBuffer: seguro para subprocesos
Cuando nuestro búfer de cadenas es utilizado por varios subprocesos, la JVM no puede garantizar que el funcionamiento de StringBuilder sea seguro. Aunque es el más rápido, puede garantizar que StringBuffer pueda funcionar correctamente. Por supuesto, en la mayoría de los casos realizamos operaciones en un solo hilo, por lo que en la mayoría de los casos se recomienda utilizar StringBuilder en lugar de StringBuffer por razones de velocidad.
Resumen del uso de los tres:
1. Si desea operar con una pequeña cantidad de datos, use String
2. Operación de subproceso único del búfer de cadena para operar una gran cantidad de datos StringBuilder
3. Operación multiproceso del búfer de cadenas para operar una gran cantidad de datos StringBuffer