Diferencia Entre String StringBuffer Y StringBuilder En Java

Tabla de contenido:

Diferencia Entre String StringBuffer Y StringBuilder En Java
Diferencia Entre String StringBuffer Y StringBuilder En Java

Vídeo: Diferencia Entre String StringBuffer Y StringBuilder En Java

Vídeo: Diferencia Entre String StringBuffer Y StringBuilder En Java
Vídeo: JAVA: DIFERENCIAS ENTRE STRING, STRINGBUFFER Y STRINGBUILDER 2024, Mayo
Anonim

Diferencia clave: String vs StringBuffer vs StringBuilder en Java

String, StringBuffer y String Builder son clases en Java. La cadena se usa ampliamente en la programación Java. Una vez que se crea un objeto de String, no es posible cambiarlo. Cada vez que ocurre un cambio en la Cadena, crea una nueva Cadena. Incluso si es una concatenación a una Cadena existente, crea una nueva Cadena. Esto provoca pérdida de memoria. Las clases StringBuffer y StringBuilder en Java se utilizan para modificar String. La diferencia clave entre String, StringBuffer y StringBuilder en Java es que String es una clase para crear un objeto de tipo String que es una secuencia de caracteres, StringBuffer es una clase que se usa para modificar Strings que proporciona seguridad para subprocesos y StringBuilder es un clase que se utiliza para modificar cadenas que no proporcionan seguridad para subprocesos.

CONTENIDO

1. Descripción general y diferencia clave

2. Qué es String en Java

3. Qué es StringBuffer en Java

4. Qué es StringBuilder en Java

5. Similitudes entre String StringBuffer y StringBuilder en Java

6. Comparación lado a lado - String vs StringBuffer vs StringBuilder en Java en forma tabular

7. Resumen

¿Qué es String en Java?

La clase de cadena está en el paquete java.lang. Cada vez que el programador crea un String, es un objeto de tipo String. Las cadenas tienen un significado inmutable una vez que se crea el objeto, no se puede cambiar. Los objetos creados usando clases contenedoras como Integer, Byte, Float, Double también son inmutables. Un literal de cadena se encierra entre comillas dobles. por ejemplo, "Hola mundo". Cada vez que se crea un literal de cadena, la máquina virtual Java (JVM) comprueba el grupo de constantes de cadena. Si el String existe, se devuelve una referencia al grupo de constantes String. Si es un String nuevo, ese objeto se crea en el grupo de constantes String.

Diferencia entre String StringBuffer y StringBuilder en Java
Diferencia entre String StringBuffer y StringBuilder en Java

Figura 01: Programa Java que usa String, StringBuffer y StringBuilder

Consulte el código a continuación.

String s1 = "Hola";

s1 = s1 + "Mundo";

System.out.println (s1);

En la primera declaración, s1 se refiere al "Hola" en el grupo de constantes String. En la segunda declaración, JVM no cambia la cadena existente. En su lugar, crea una nueva cadena como "Hola mundo" y s1 ahora se refiere a esa nueva cadena. El objeto "Hello" existente todavía existe en el grupo de constantes String.

Si hay un código que es, String s1 =”Hola”;

Cadena s2 = s1;

s1, s2 ambos se referirán al objeto String "Hola".

¿Qué es StringBuffer en Java?

La clase StringBuffer se usa para hacer que los objetos String sean mutables. Por tanto, esos objetos se pueden modificar. StringBuffer define cuatro constructores. StringBuffer (), StringBuffer (tamaño int), StringBuffer (String str), StringBuffer (charSequence ch)

Consulte el código a continuación, StringBuffer s1 = new StringBuffer ("Hola");

s1.append ("Mundo");

System.out.println (s1);

En la declaración 1, s1 se refiere al objeto "Hola" en un montón. El objeto es mutable porque se crea usando StringBuffer. En la declaración 2, "Mundo" se agrega al mismo objeto de cadena "Hola".

Los objetos de cadena creados con la clase StringBuffer pueden ahorrar memoria. StringBuffer proporciona seguridad para subprocesos porque dos subprocesos no pueden acceder al mismo método en la clase StringBuffer simultáneamente. La seguridad del hilo disminuye el rendimiento de StringBuffer. La clase StringBuffer contiene métodos como append (), insert (), reverse (), replace ().

¿Qué es StringBuilder en Java?

La clase StringBuilder se usa para hacer que los objetos String sean mutables. Por tanto, esos objetos se pueden modificar. La funcionalidad es similar a StringBuffer, pero esto no proporciona seguridad para subprocesos. StringBuilder tiene constructores como StringBuilder (), StringBuilder (int size), StringBuilder (String str).

Consulte el siguiente código.

StringBuilder s1 = nuevo StringBuilder ("Hola");

s1.append ("Mundo");

System.out.println (s1);

En la declaración 1, s1 se refiere al objeto "Hola" en un montón. El objeto es mutable porque se crea usando StringBuilder. En la declaración 2, "Mundo" se agrega al mismo objeto de cadena "Hola". No hay creación de un objeto String completamente nuevo.

Los objetos de cadena creados con la clase StringBuilder pueden ahorrar memoria. A diferencia de StringBuffer, StringBuilder no proporciona seguridad para subprocesos porque dos subprocesos pueden acceder al mismo método en la clase StringBuilder simultáneamente. La clase StringBuilder contiene métodos como append (), insert (), reverse (), replace ().

¿Cuál es la similitud entre String, StringBuffer y StringBuilder en Java?

Todos se pueden usar para crear cadenas

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

Diferencia del medio del artículo antes de la mesa

String vs StringBuffer vs StringBuilder

Cuerda La cadena es una clase Java que se utiliza para crear un objeto de tipo Cadena, que es una secuencia de caracteres.
StringBuffer StringBuffer es una clase Java que se utiliza para crear objetos String, que se pueden modificar con seguridad para subprocesos.
StringBuilder StringBuilder es una clase que se utiliza para crear objetos de cadena, que se pueden modificar sin seguridad para subprocesos.
Mutabilidad
Cuerda La cadena es una clase inmutable.
StringBuffer StringBuffer es una clase mutable.
StringBuilder StringBuilder es una clase mutable.
Seguridad del hilo
Cuerda Los métodos de cadena son seguros para subprocesos.
StringBuffer Los métodos de StringBuffer son seguros para subprocesos y están sincronizados.
StringBuilder Los métodos de StringBuilder no son seguros para subprocesos ni están sincronizados.
Actuación
Cuerda La cuerda es rápida.
StringBuffer StringBuffer es lento.
StringBuilder StringBuilder es rápido.

Resumen: String vs StringBuffer vs StringBuilder en Java

String, StringBuffer y StringBuilder parecen ser lo mismo, pero tienen significados diferentes. Todas estas son clases de Java. La diferencia entre String, StringBuffer y StringBuilder en Java es que, String es una clase para crear un objeto de tipo String, que es un conjunto de caracteres, StringBuffer es una clase que se usa para modificar Strings y proporcionar seguridad para subprocesos, mientras que StringBuilder es un clase que se usa para modificar Strings que no proporciona seguridad para subprocesos.

Descargue el PDF String vs StringBuffer vs StringBuilder en Java

Puede descargar la versión PDF de este artículo y utilizarla para fines sin conexión según la nota de cita. Descargue la versión PDF aquí Diferencia entre String StringBuffer y StringBuilder en Java

Recomendado: