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.
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
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".
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 ().
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 ().
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. |
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.
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
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í