1. Modificación de cadenas
En Java, las cadenas son objetos inmutables. Esto se hizo para optimizar la clase String y permitir que se use en todas partes. Por ejemplo, solo se recomienda el uso de tipos inmutables como claves en la colección HashMap .
Sin embargo, a menudo surgen situaciones en las que a los programadores les resulta más conveniente que la String
clase sea mutable. Quieren una clase que no cree una nueva subcadena cada vez que se llama a uno de sus métodos.
Bueno, supongamos que tenemos una cadena muy grande y necesitamos agregar algo al final con frecuencia. En este caso, incluso una colección de caracteres ( ArrayList<Character>
) puede ser más eficiente que recrear y concatenar constantemente objetos String.
Es precisamente por eso que se agregó al lenguaje Java un tipo similar a una cadena que se puede cambiar. se llama StringBuilder
.
Creando un objeto
Para crear un StringBuilder
objeto basado en una cadena existente, debe ejecutar una declaración como:
StringBuilder name = new StringBuilder(string);
Para crear una cadena mutable vacía, debe usar una declaración como esta:
StringBuilder name = new StringBuilder();
Lista de métodos
La StringBuilder
clase tiene dos docenas de métodos útiles. Aquí están los más importantes:
Método | Descripción |
---|---|
|
Convierte el objeto pasado en una cadena y lo agrega a la cadena actual |
|
Convierte el objeto pasado en una cadena y lo inserta en la cadena actual |
|
Reemplaza la parte de la cadena especificada por el intervalo de inicio... fin con la cadena pasada |
|
Elimina el carácter con el índice especificado de la cadena |
|
Elimina caracteres dentro del intervalo especificado de la cadena |
|
Busca una subcadena en la cadena actual |
|
Busca una subcadena en la cadena actual, comenzando desde el final |
|
Devuelve el carácter de la cadena en el índice pasado |
|
Devuelve la subcadena definida por el intervalo especificado |
|
Invierte la cadena actual. |
|
Cambia el carácter en el índice especificado al carácter pasado |
|
Devuelve la longitud de la cadena en caracteres |
Aquí hay una breve descripción de cada método.
2. Descripción de los métodos:
Agregar a una cadena
Para agregar algo a una cadena mutable ( StringBuilder
), use el append()
método. Ejemplo:
Código | Descripción |
---|---|
|
|
Conversión a una cadena estándar
Para convertir un StringBuilder
objeto en un objeto String, solo necesita llamar a su toString()
método. Ejemplo
Código | Producción |
---|---|
|
|
¿Cómo elimino un personaje?
Para eliminar un carácter en una cadena mutable, debe usar el deleteCharAt()
método. Ejemplo:
Código | Producción |
---|---|
|
|
¿Cómo reemplazo parte de una cadena con otra cadena?
Para esto existe el replace(int begin, int end, String str)
método. Ejemplo:
Código | Producción |
---|---|
|
|
3. Ejemplos útiles de trabajo con cadenas
¿Cómo invierto una cadena?
Hay un método especial para hacer esto: reverse()
; Ejemplo:
Código | Producción |
---|---|
|
|
StringBuffer
clase
Hay otra clase: StringBuffer, que es un análogo de la StringBuilder
clase, pero sus métodos están marcados con el synchronized
modificador. Significa que StringBuffer
se puede acceder al objeto simultáneamente desde varios subprocesos.
Pero es mucho más lento que StringBuilder
. Es posible que necesite esta clase cuando comience a explorar activamente los subprocesos múltiples en la búsqueda de subprocesos múltiples de Java .
GO TO FULL VERSION