Diferencia entre StringBuffer y StringBuilder

Diferencia entre StringBuffer y StringBuilder
Diferencia entre StringBuffer y StringBuilder

Video: Diferencia entre StringBuffer y StringBuilder

Video: Diferencia entre StringBuffer y StringBuilder
Video: INTERÉS INDEBIDO EN LA CELEBRACIÓN DE CONTRATOS - Delitos contra la Administración Pública. 2024, Mes de julio
Anonim

StringBuffer frente a StringBuilder

Java es un lenguaje orientado a objetos muy popular. En Java, la clase String se proporciona para contener una secuencia de caracteres que no se pueden modificar (una vez inicializados). Alternativamente, el lenguaje de programación Java proporciona dos tipos de secuencias mutables de caracteres. Es decir, cuando los programadores necesitan modificar un determinado String (después de la inicialización), necesitan usar la clase StringBuffer o la clase StringBuilder, en lugar de la clase String. StringBuffer se introdujo en JDK 1.0 y la clase StringBuilder se introdujo en JDK 1.5, en realidad como reemplazo de la clase StringBuffer (para entornos de un solo hilo).

¿Qué es StringBuffer?

La clase StringBuffer se introdujo en JDK 1.0. La clase StringBuffer pertenece al paquete java.lang y se hereda del genérico java.lang.object. Los programadores no pueden extenderlo más ya que es una clase final. La clase StringBuffer implementa interfaces Serializable, Appendable y CharSequience. Un objeto de la clase StringBuffer puede contener una secuencia de caracteres que es mutable y segura para subprocesos. Eso significa que es muy similar a un objeto String, pero la secuencia de caracteres (longitud y contenido) se puede cambiar en cualquier momento después de inicializar el objeto StringBuffer. Sin embargo, eso debe hacerse usando los métodos específicos proporcionados por la clase StringBuffer. Hay dos operaciones principales en la clase StringBuffer. Los proporcionan los métodos append() e insert(). Estos métodos están sobrecargados, por lo que pueden aceptar datos de cualquier tipo, como enteros y largos. Ambos métodos primero transforman cualquier entrada en una cadena y luego agregan (agregan o insertan) los caracteres de la cadena correspondiente al objeto Stribbuffer existente. El método append() agrega la cadena convertida al final del objeto StringBuffer existente, mientras que el método insert() agregará los caracteres de entrada al punto de inserción especificado.

¿Qué es StringBuilder?

La clase StringBuilder se introdujo en JDK 1.5. La API de StringBuilder es muy similar a la API de StringBuffer. De hecho, la clase StringBuilder se introdujo como reemplazo de la clase StringBuffer (para aplicaciones de un solo subproceso). La clase StringBuilder pertenece al paquete java.lang y se hereda del genérico java.lang.object. Es una clase final, por lo que los programadores no pueden extenderla. La clase StringBuilder implementa interfaces Serializable, Appendable y CharSequience. Un objeto de la clase StringBuilder puede contener una secuencia de caracteres que es mutable pero no segura para subprocesos. Eso significa que es muy similar a un objeto String, pero la cadena se puede cambiar en cualquier momento. Pero la clase StringBuilder no proporciona sincronización y, por lo tanto, se afirma que es más rápida que usar la clase StringBuffer. La clase StringBuilder proporciona métodos append() e insert() con una funcionalidad exactamente similar a la de la clase StringBuffer.

¿Cuál es la diferencia entre StringBuffer y StringBuilder?

Aunque las clases StringBuilder y StringBuffer se pueden usar para secuencias mutables de caracteres en Java, tienen una diferencia clave. A diferencia de la clase StringBuffer, la clase StringBuilder no es segura para subprocesos y no proporciona sincronización. Por lo tanto, se recomienda usar la clase StringBuilder en lugar de la clase StringBuffer en aplicaciones de un solo subproceso, porque se afirma que la clase StringBuilder será mucho más rápida que la clase StringBuffer (en circunstancias normales).

Recomendado: