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 Stringclase 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 StringBuilderobjeto 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 StringBuilderclase 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 StringBuilderobjeto 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 |
|---|---|
|
|
StringBufferclase
Hay otra clase: StringBuffer, que es un análogo de la StringBuilderclase, pero sus métodos están marcados con el synchronizedmodificador. Significa que StringBufferse 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