1. Estructura de la String
clase
Hoy hablaremos de la String
clase. Después de ints, la clase String es la clase más popular en Java. Se usa absolutamente en todas partes. Tiene un montón de métodos útiles que es mejor que conozcas.
La String
clase es la única clase además de los tipos primitivos cuyos literales se pueden usar en una switch
declaración; el compilador maneja la adición de cadenas y los objetos String de una manera especial; String
los objetos se almacenan en la memoria de una manera especial. Básicamente, la String
clase es una clase muy especial.
Además, la String
clase tiene un montón de clases auxiliares cuyo propósito es simplificar aún más el trabajo con cadenas en Java. Cuando aprendas todo esto, muchas cosas te resultarán mucho más fáciles de hacer. Bueno, comenzaremos desde el núcleo mismo de este ecosistema: la organización de la String
clase.
Matriz de caracteres
La estructura de la String
clase es en realidad muy simple: dentro de ella hay una matriz de caracteres (char array) que almacena todos los caracteres de la cadena. Por ejemplo, así es como se almacena la palabra 'Hola':
En realidad, esto no es del todo exacto. Debido a que la String
clase es muy importante, utiliza muchas optimizaciones y los datos no se almacenan internamente como una matriz de caracteres, sino simplemente como una matriz de bytes.
2. Métodos de la String
clase
La String
clase tiene muchos métodos: ¡solo tiene 18 constructores! Así que a continuación solo mencionamos los más básicos de ellos:
Métodos | Descripción |
---|---|
|
Devuelve el número de caracteres de la cadena. |
|
Comprueba si la cadena es una cadena vacía |
|
Comprueba que la cadena contiene solo caracteres de espacio en blanco: espacio, tabulador, nueva línea, etc. |
|
Devuelve el carácter en la posición de índice en la cadena. |
|
Devuelve una matriz de los caracteres (una copia) que componen la cadena |
|
Convierte una cadena en un conjunto de bytes y devuelve la matriz de bytes. |
|
Divide una cadena en varias subcadenas. |
|
Une varias subcadenas juntas |
|
Pone una cadena en el string pool . |
Puede obtener más información sobre los constructores en el artículo Java Constructors .
Escribamos un programa que convierta una ruta de archivo del estilo Unix al estilo Windows. Unix usa el /
carácter para separar carpetas, mientras que Windows usa el \
carácter.
Solución 1: usar una matriz de caracteres
Código | notas |
---|---|
|
Cree un objeto Scanner. Lea una línea desde la consola. Convierta una cadena en una matriz de caracteres. Repita los caracteres. Si el carácter es / , reemplácelo con \ . No te olvides de escapar. Cree una nueva cadena basada en la matriz de caracteres. Muestre la cadena. |
Solución 2: — usando los métodos split()
yjoin()
Código | notas |
---|---|
|
Cree un objeto Scanner. Lea una línea desde la consola. Convierta una cadena en una matriz de cadenas . El / carácter se usa como separador (las dos barras adicionales son el resultado del doble escape). Concatene todas las cadenas en la matriz de cadenas . El \ se usa como separador (lo vemos escapado). Muestre la cadena. |
Solución 3: — usando el replace(char oldChar, char newChar)
método
Código | notas |
---|---|
|
Cree un objeto Scanner. Lea una línea desde la consola. Simplemente reemplace un carácter por otro (el segundo tiene escape). Muestre la cadena. |
GO TO FULL VERSION