Junior
Fale sobre a classe String na linguagem de programação que você conhece.
sobes.tech IA
Resposta da IA
No contexto do Java, String é uma classe imutável que representa uma sequência de caracteres. Os objetos String são criados, por exemplo, usando literais ou o operador new.
Características:
- Imutabilidade: Após criar um objeto
String, seu conteúdo não pode ser alterado. Qualquer operação que pareça modificar a string (por exemplo, concatenação) na verdade cria uma nova string. Isso garante segurança ao trabalhar com threads e tabelas hash. - Pool de strings: Para literais de strings, a JVM Java usa uma área de memória especial chamada pool de strings. Se uma string com o mesmo conteúdo já existir no pool, a JVM usa uma referência a esse objeto em vez de criar um novo. Isso otimiza o uso de memória.
- Sobrecarga do operador
+: O operador+para strings é usado para concatenação. - Muitos métodos úteis: A classe
Stringfornece uma ampla gama de métodos para trabalhar com strings: obter comprimento (.length()), comparação (.equals(),.equalsIgnoreCase()), busca de substrings (.contains(),.indexOf()), extração de substrings (.substring()), substituição de caracteres (.replace()), conversão para maiúsculas/minúsculas (.toUpperCase(),.toLowerCase()), remoção de espaços (.trim()) e outros.
Exemplos:
Criação de strings:
// Criação usando literal - colocado no pool de strings
String s1 = "Hello";
// Criação usando new - cria um novo objeto fora do pool
String s2 = new String("World");
// Concatenação de strings
String s3 = s1 + " " + s2;
Exemplo de imutabilidade:
String original = "abc";
String modificado = original.concat("def"); // Cria uma nova string
// original ainda é "abc"
System.out.println(original); // Saída: abc
// modificado é uma nova string "abcdef"
System.out.println(modificado); // Saída: abcdef
Métodos importantes:
String text = " Example String ";
// Comprimento da string
int length = text.length(); // 18
// Comparação de strings
boolean isEqual = text.equals(" Example String "); // true
// Comparação sem considerar maiúsculas/minúsculas
boolean isEqualIgnoreCase = text.equalsIgnoreCase(" example string "); // true
// Busca de substring
boolean contains = text.contains("String"); // true
int index = text.indexOf("String"); // 10
// Extração de substring
String sub = text.substring(10, 16); // String
// Substituição de caracteres
String replaced = text.replace(" ", "-"); // --Example-String--
// Remoção de espaços nas extremidades
String trimmed = text.trim(); // Example String
String é amplamente utilizado em Java para representar informações textuais e é uma classe fundamental para o processamento de strings.