1. Concatenación (unión de strings)

Hay algo muy sencillo que puedes hacer con las strings en Java: unirlas. Esta operación se llama concatenación. Así es como lo recordamos: Con-Cat-en-Nación. A menudo se llama "unir strings" o "combinar strings".

Para concatenar dos líneas, se utiliza el signo +. Es muy fácil:

"value1" + "value2"
Concatenando dos strings

Ejemplos:

Declaración Nota
String name = "Steve" + "Steve";
name contiene la string SteveSteve
String city = "New York" + "Steve";
city contiene la string New YorkSteve
String message = "Hello! " + "Steve";
message contiene la string Hello! Steve

Y, por supuesto, puedes unir muchas strings al mismo tiempo, y también puedes unir strings y variables.

Ejemplos:

Declaración Nota
String name = "Steve";
String city = "New York";
String message = "Hello!" + city + name + city;
name contiene la string Steve
city contiene la string New York
message contiene la string
Hello!New YorkSteveNew York

En el último ejemplo, puedes ver que el texto en el message es difícil de leer, porque le faltan espacios. Para indicar uno o más espacios, solo necesitas escribirlos en el código y luego envolverlos entre comillas dobles. Es más fácil de lo que parece:

" "
Una string que contiene un espacio

Por cierto, si no pones espacios entre las comillas (es decir, escribes dos comillas dobles seguidas), obtienes la llamada "string vacía":

""
String vacía

Por un lado, parece que tenemos una string. Pero por otro lado, cuando mostramos esta string, no se muestra nada. Y cuando la unimos con otras strings, no sucede nada. Es como un cero en la suma, solo que para las strings.



2. Convirtiendo a una string

Como se mencionó anteriormente, los desarrolladores de Java se han asegurado de que absolutamente todas las variables, objetos y expresiones en Java puedan convertirse al tipo String.

Además, esto sucede automáticamente cuando concatenamos una String con algún otro tipo. Ejemplos:

Declaración Nota
int a = 5;
String name = "Steve" + a;
name contiene el string Steve5
int a = 5;
String city = a + "New York" + a;
city contiene el string 5New York5
int number = 10;
String code = "Yo";
String message = "Hello! " + number + code;
message contiene la string Hello! 10Yo

En los 3 casos, combinamos int y String variables, y el resultado es siempre un String.

No puedes hacer operaciones aritmeticas con String type. Inclusive si toda la String es solo digitos.

Ejemplos:

Instrucción Nota
int a = 5;
String name = "1" + a;
name contiene el string 15
int a = 5;
String city = a + "9" + a;
city contiene el string 595
int number = 10;
String code = "10";
String message = "" + number + code;
message contiene el string 1010

Las operaciones de suma se ejecutan de izquierda a derecha, por lo que el resultado puede ser un poco inesperado. Ejemplo:

Instrucción Nota
int a = 5;
String name = a + a + "1" + a;
name contiene el string 1015
Orden de operaciones: ((a + a) + "1") + a

3. Convirtiendo un string a un número

Convertir un número a un string en Java es tan fácil como concatenarlo con un string vacío:

String str"" + number;
Convirtiendo un número a un string

¿Pero qué pasa si necesitas convertir un string a un número? Bueno, no todos los strings se pueden convertir a números. Pero si el string consta solo de números, entonces puedes hacerlo. Hay un método especial para esto en la clase Integer.

La instrucción correspondiente se ve así:

int x = Integer.parseInt(string);

Donde int x es la declaración de una variable entera x, y string es un string que representa un número (es decir, un string compuesto por dígitos).

Ejemplos:

Instrucción Nota
String str = "123";
int number = Integer.parseInt(str);
number contiene el numero 123;
int number = Integer.parseInt("321");
number contiene el numero 321
int number = Integer.parseInt("321" + 0);
number contiene el numero 3210
int number = "321";
Esto no se compilará: la variable es un int, pero el valor es un String

4. Convirtiendo un objeto/primitiva a un string

Para convertir una instancia de cualquier clase de Java o cualquier tipo de dato primitivo a un string, puedes usar el método String.valueOf():


public class StringExamples {
    public static void main(String[] args) {
        String a = String.valueOf(1);
        String b = String.valueOf(12.0D);
        String c = String.valueOf(123.4F);
        String d = String.valueOf(123456L);
        String s = String.valueOf(true);

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(s);
        
        /*
        Output:
        1
        12.0
        123.4
        123456
        true
         */
    }
}

5. Algunos métodos para trabajar con strings

Y finalmente, me gustaría hablar sobre varios métodos de la clase String.

Método length()

El método length() te permite obtener la longitud de un string, es decir, cuántos caracteres contiene.

Ejemplos:

Sentencia Nota
String name = "Rome";
int count = name.length();
count contiene el valor 4
int count = "".length();
count contiene el valor 0
String name = "Rom";
int count = (name + 12).length();
count contiene el valor 5

Puedes llamar a estos métodos en cualquier cosa cuyo tipo sea String, incluso en una expresión:

(name + 12).length()
Llamando al método length() en una expresión cuyo tipo es String

Método toLowerCase()

El método toLowerCase() te permite convertir todos los caracteres de un string a minúsculas:

Ejemplos:

Statement Note
String name = "Rom";
String name2 = name.toLowerCase();
name2 contiene la string rom
String name = "".toLowerCase();
name contiene una string vacia
String name = "ROM123";
String name2 = name.toLowerCase();
name2 contiene la string rom123

Método toUpperCase()

El método toUpperCase() te permite convertir todos los caracteres de una string a mayúsculas:

Ejemplos:

Sentencia Nota
String name = "Rom";
String name2 = name.toUpperCase();
name2 contiene la string ROM
String name = "rom123";
String name2 = name.toUpperCase();
name2 contiene la string ROM123