Diferencia entre String StringBuffer y StringBuilder en Java

Diferencia entre String StringBuffer y StringBuilder en Java

Diferencia de clave - Cadena 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 cadena, no es posible cambiarlos. Cada vez que se produce un cambio en la cadena, crea una nueva cadena. Incluso si se trata de una concatenación para una cadena existente, crea una nueva cadena. Esto causa desperdicio de memoria. Las clases de StringBuffer y StringBuilder en Java se utilizan para modificar la cadena. El diferencia clave Entre String, StringBuffer y StringBuilder en Java es que La cadena es una clase para crear un objeto de tipo de cadena que es una secuencia de caracteres, StringBuffer es una clase que se usa para modificar cadenas que proporciona seguridad de subprocesos, y StringBuilder es una clase que se usa para modificar cadenas que no proporciona seguridad de subprocesos.

CONTENIDO

1. Descripción general y diferencia de claves
2. ¿Qué es la cadena 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 de lado a lado - String vs StringBuffer vs StringBuilder en Java en forma tabular
7. Resumen

¿Qué es la cadena en Java??

La clase de cadena está en Java.paquete lang. Cada vez que el programador crea una cadena, es un objeto de tipo de cadena. Las cadenas son inmutables, significado que una vez que se crea el objeto, no se puede cambiar. Los objetos creados con clases de envoltorio como Integer, Byte, Float, Double también son inmutables. Un literal de cadena está encerrado en cotizaciones dobles. mi.gramo. "Hola Mundo".  Cada vez que se crea una cadena literal, la máquina virtual Java (JVM) verifica el grupo constante de cadena. Si la cadena existe, se devuelve una referencia al grupo constante de cadena. Si es una nueva cadena, ese objeto se crea en el grupo constante de cadena.

Figura 01: programa Java usando String, StringBuffer y StringBuilder

Consulte la siguiente pieza de código.

Cadena s1 = "hola";

S1 = S1 + "Mundo";

Sistema.afuera.println (S1);

En la primera declaración, S1 se refiere al "hola" en el grupo constante de cadena. En la segunda declaración, JVM no cambia la cadena existente. En cambio, crea una nueva cadena como "Hello World" y S1 ahora se refiere a esa nueva cadena. El objeto de "hola" que sale todavía existe en el grupo constante de cadena.

Si hay un código que es,

Cadena s1 = "hola";

Cadena S2 = S1;

S1, S2 se referirá al objeto de cadena "Hola".

¿Qué es StringBuffer en Java??

La clase StringBuffer se usa para hacer que los objetos de cadena sean mutables. Por lo tanto, esos objetos pueden modificarse. StringBuffer define cuatro constructores. StringBuffer (), stringBuffer (int size), StringBuffer (String Str), StringBuffer (CharSECHENCE [] CH)

Consulte el código a continuación,

StringBuffer s1 = new StringBuffer ("Hello");

S1.anexar ("mundo");

Sistema.afuera.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, "World" se adjunta al mismo objeto de cadena "Hola".

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

¿Qué es StringBuilder en Java??

La clase StringBuilder se usa para hacer que los objetos de cadena sean mutables. Por lo tanto, esos objetos pueden modificarse. La funcionalidad es similar a StringBuffer, pero esto no proporciona seguridad de subprocesos. StringBuilder tiene constructores como stringBuilder (), stringBuilder (int tamaño), stringBuilder (string str).

Consulte el siguiente código.

StringBuilder s1 = new StringBuilder ("Hello");

S1.anexar ("mundo");

Sistema.afuera.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, "World" se adjunta al mismo objeto de cadena "Hola".  No hay creación de objeto de cadena completamente nuevo.

Los objetos de cadena creados con la clase StringBuilder pueden guardar memoria. A diferencia de StringBuffer, StringBuilder no proporciona seguridad de 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 (), reemplazar ().

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

  • Todo se puede usar para crear cadenas.

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

String vs stringbuffer vs stringBuilder

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

Resumen -Cadena VS StringBuffer VS StringBuilder en Java 

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

Descargue la cadena PDF vs StringBuffer vs StringBuilder en Java

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

Referencia:

1."String vs StringBuffer vs StringBuilder."Journaldev, 30 de julio de 2017. Disponible aquí
2."Java hambriento."Diferencia entre las clases String, StringBuilder y StringBuffer con ejemplo: Java | Java hambriento. Disponible aquí 
3.punto de tutorial.comunicarse. "Java cadenas." El punto. Disponible aquí