Strings en Java: métodos, comparación y StringBuilder

Manipular texto en Java: los métodos más usados, por qué usar .equals() y no ==, la inmutabilidad y StringBuilder. Todo probable al momento.

Un String es una secuencia de caracteres. En Java es un objeto (no un tipo primitivo) y es inmutable: una vez creado, su contenido no cambia. Los métodos que «modifican» en realidad devuelven un String nuevo.

Explorador de métodos de String

Escribe un texto y prueba los métodos más habituales. El resultado se calcula igual que lo haría Java.

== frente a .equals()

== compara si son el mismo objeto en memoria. .equals() compara el contenido. Para texto, casi siempre quieres .equals().

Inmutabilidad

Los métodos de String no cambian el original: devuelven uno nuevo. Si no guardas el resultado, se pierde.

StringBuilder

Concatenar con + dentro de un bucle crea un String nuevo en cada vuelta (lento). StringBuilder usa un buffer que se modifica: mucho más eficiente para construir texto poco a poco.

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
    sb.append(i).append("-");
}
String resultado = sb.toString();   // "1-2-3-4-5-"

String.format y printf

Componen texto con «huecos»: %d entero, %s texto, %.2f decimal con 2 cifras, %n salto de línea.

Text blocks (Java 15+)

Texto multilínea entre """ sin escapar comillas ni concatenar. Perfecto para JSON, HTML o SQL.

String json = """
    {
      "nombre": "Ana",
      "edad": 30
    }
    """;

Comprueba lo aprendido