Java Strings Básico
Strings
Em Java, String é uma classe imutável: uma vez criada, seu conteúdo não pode ser alterado. Qualquer operação que pareça modificar uma string na verdade cria uma nova. Isso traz segurança e permite o compartilhamento eficiente de literais no string pool.
A classe String oferece muitos métodos úteis, como length(), charAt(), substring(), toUpperCase(), replace() e split(). Todos retornam novas strings ou valores derivados, sem tocar no objeto original.
Quando é preciso montar textos dinamicamente, concatenar com + dentro de laços pode ser custoso, pois gera muitos objetos intermediários. A classe StringBuilder resolve isso com um buffer mutável, ideal para construção eficiente de strings.
Desde o Java 15, os text blocks (""") permitem escrever strings multilinha de forma legível, sem escapes para quebras de linha e aspas. Eles são úteis para SQL, JSON, HTML e mensagens formatadas.
Pontos-chave
Stringé imutável: métodos comotoUpperCase()retornam uma nova string.- O string pool reutiliza literais, mas
new String("...")cria um objeto separado. - Prefira
StringBuilderpara concatenar muitas strings em laços. - Text blocks (
""") simplificam strings com várias linhas. - Use
equals()para comparar conteúdo, nunca==.
public class StringsDemo {
public static void main(String[] args) {
// Imutabilidade: o método retorna uma nova string
String original = "java";
String maiuscula = original.toUpperCase();
System.out.println("original = " + original); // java
System.out.println("maiuscula = " + maiuscula); // JAVA
// Métodos comuns de String
String frase = " Programar em Java é divertido ";
System.out.println("comprimento: " + frase.length());
System.out.println("trim: '" + frase.trim() + "'");
System.out.println("substring: " + frase.trim().substring(0, 9));
System.out.println("contém 'Java': " + frase.contains("Java"));
// StringBuilder: construção eficiente
StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
sb.append(i).append(" ");
}
System.out.println("StringBuilder: " + sb.toString().trim());
// Text block: string multilinha
String json = """
{
"linguagem": "Java",
"ano": 1995
}
""";
System.out.println("Text block:\n" + json);
}
}