El lenguaje Java como la gran mayoría de los lenguajes de programación, trabaja con distintos tipos de datos. Estos se guardan en espacios de memoria de la computadora y se conocen como variables y estas variables se dividen en tipos de datos.
Para Java los datos de tipo texto son muy importantes, tan importantes que el lenguaje dispone de varios métodos en su librería básica para poder manipularlos, y se los conoce como del tipo String.
Los String en Java no son del tipo de dato simple, sino instancias de la clase String. Son objetos, como todo lo que compone a este lenguaje y tienen una sintaxis especial para representar cadenas de caracteres.
Estos datos se codifican usando Unicode (esquema de codificación de caracteres para equipos informáticos) y se escriben entre comillas.
El objeto String, entonces representa y manipula secuencias de caracteres, y una vez creado su contenido es inmutable, o sea que no se puede modificar.
La clase String (que es la plantilla para los objetos String) es un envolvente para los datos de tipo primitivo de cadenas y proporciona métodos que permiten manipular esas cadenas.
Cualquier valor de una variable se puede convertir a una cadena mediante el uso de la función String()
Para crear las cadenas se usa el comillado doble “Hola” y para los caracteres el comillado simple ‘a‘.
Estos objetos se pueden crear implícitamente, donde Java al detectar un encomillado doble o simple asume que es una cadena o carácter y crea “por debajo” el objeto:
String cadena2 ="Amo a mi perro";
o crearlas explícitamente, donde le decimos a Java que cree dicho objeto:
String frase = new String("mimail@mail.com");
Notemos que en la forma explícita lo que hacemos es instanciar el objeto con la palabra reservada new y la clase String que representa el tipo de dato.
También podemos crear un String vacío o nulo y usarlo más adelante en nuestro programa, lo podemos declarar de cualquiera de las dos formas:
String cadena = ""; //Forma implícita
String cadena = new String();//Forma explícita
Tanto implícita como explícitamente el proceso de creación es el mismo:
Para esta clase Java Virtual Machine (JVM) genera automáticamente un espacio en memoria conocido como String Constant Pool, esta particularidad hace que podamos inicializar la clase sin instanciarla (forma implícita).
Los métodos más utilizados de la clase String son los siguientes:
String es ampliamente utilizada, y son pocas las desventajas que presenta, vamos a mencionar las dos más importantes.