Você Sabia Que String é uma Classe ?
String em Java: Guia Completo
Você sabia que a String é uma classe e não um tipo primitivo igual (int, double, char)? Ela é muito utilizada em nossos programas e representa cadeias de caracteres. Dá para inicializar com o construtor, sem construtor, e realizar junção de textos:
// Inicializa com o construtor
String variavel = new String("Seu texto");
// Inicializa sem o construtor
String variavel = "seu texto";
// Junção dos textos (Concatenação)
String msg = variavel + ", está aqui";
A Oracle pensou em reduzir o comando para ser guardado na memória, ou seja, se já existe um código idêntico, há um apontamento para a variável, e na reutilização, há uma economia de memória através do String Pool.
Então, se você utilizar outras variáveis, mas com mesmo conteúdo, o Java reutiliza a mesma referência na memória.
Métodos Principais da Classe String
charAt()
Utilizamos o charAt() para saber a posição da letra em específico, ou seja, leia uma String como se fosse um array de caracteres:
String nome = "ANA";
System.out.println(nome.charAt(1)); // N
length()
O método length() é muito utilizado para saber a quantidade de caracteres dentro de uma String:
String texto = "usuario";
System.out.println(texto.length()); // 7
equals()
O método equals() é muito utilizado para comparações de String, verificando se um valor é igual ao digitado:
String mensagem1 = "Ola";
String mensagem2 = "Ola";
String usuario = "Mario";
System.out.println(mensagem1.equals(mensagem2)); // true
System.out.println(mensagem1.equals(usuario)); // false
equalsIgnoreCase()
Similar ao equals(), mas ignora diferenças entre maiúsculas e minúsculas:
String texto1 = "Java";
String texto2 = "JAVA";
System.out.println(texto1.equalsIgnoreCase(texto2)); // true
substring()
O método substring() é utilizado para realizar uma manipulação de String mais elaborada, extraindo apenas uma parte da String:
String minhaString = "Hello World!!";
System.out.println(minhaString.substring(6)); // World!!
System.out.println(minhaString.substring(0, 5)); // Hello
replace()
O método replace() é utilizado para a substituição de caracteres ou sequências de caracteres:
String minhaString = "Hello World!!";
System.out.println(minhaString.replace("World", "Java")); // Hello Java!!
System.out.println(minhaString.replace('!', '.')); // Hello World..
toUpperCase() e toLowerCase()
Esses métodos convertem toda a String para maiúsculas ou minúsculas:
String texto = "Java Programming";
System.out.println(texto.toUpperCase()); // JAVA PROGRAMMING
System.out.println(texto.toLowerCase()); // java programming
trim()
Remove espaços em branco no início e no final da String:
String texto = " Hello Java ";
System.out.println(texto.trim()); // "Hello Java"
contains()
Verifica se a String contém uma determinada sequência de caracteres:
String texto = "Aprendendo Java";
System.out.println(texto.contains("Java")); // true
System.out.println(texto.contains("Python")); // false
startsWith() e endsWith()
Verificam se a String começa ou termina com determinada sequência:
String arquivo = "documento.pdf";
System.out.println(arquivo.startsWith("doc")); // true
System.out.println(arquivo.endsWith(".pdf")); // true
indexOf() e lastIndexOf()
Retornam a posição da primeira ou última ocorrência de um caractere ou substring:
String texto = "Java é uma linguagem Java";
System.out.println(texto.indexOf("Java")); // 0
System.out.println(texto.lastIndexOf("Java")); // 21
System.out.println(texto.indexOf("Python")); // -1 (não encontrado)
isEmpty() e isBlank()
isEmpty() verifica se a String está vazia, enquanto isBlank() (Java 11+) verifica se está vazia ou contém apenas espaços em branco:
String vazia = "";
String espacos = " ";
System.out.println(vazia.isEmpty()); // true
System.out.println(espacos.isEmpty()); // false
System.out.println(espacos.isBlank()); // true (Java 11+)
split()
Divide a String em um array com base em um delimitador:
String frutas = "maçã,banana,laranja,uva";
String[] arrayFrutas = frutas.split(",");
// arrayFrutas = ["maçã", "banana", "laranja", "uva"]
for (String fruta : arrayFrutas) {
System.out.println(fruta);
}
concat()
Concatena Strings (alternativa ao operador +):
String parte1 = "Hello";
String parte2 = " World";
String resultado = parte1.concat(parte2);
System.out.println(resultado); // Hello World
repeat()
Repete a String um número específico de vezes (Java 11+):
String texto = "Java ";
System.out.println(texto.repeat(3)); // Java Java Java
Dicas Importantes
- Strings são imutáveis: Toda operação em String cria um novo objeto na memória
- Use StringBuilder para concatenações múltiplas e melhor performance
- String Pool: Strings literais são armazenadas em um pool especial para economia de memória
- Comparação: Use
equals()para comparar conteúdo, não o operador==
Referências
YouTube. (n.d.). Retrieved December 14, 2025, from https://youtu.be/cSLNV2CZ8j4?t=48
Cordeiro, G. (2023, February 23). A Classe String no Java. DIO. https://www.dio.me/articles/a-classe-string-no-java
Devmedia. (2012, August 17). String em Java: Entendendo e utilizando essa classe. DevMedia. https://www.devmedia.com.br/string-em-java-entendendo-e-utilizando-essa-classe/25503
String (Java Platform SE 8). (2025, October 20). Oracle.com. https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
W3Schools online JAVA editor. (n.d.). W3schools.com. Retrieved December 15, 2025, from https://www.w3schools.com/java/tryjava.asp?filename=demo_ref_string_length



