Sobes.tech
Intern

O que é uma string em Java?

sobes.tech IA

Resposta da IA

Uma string em Java é uma sequência de caracteres. Ela é representada pela classe String.

Características principais:

  • 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 um novo objeto String.
  • String Pool: Java usa o String Pool (piscina de strings) para gerenciar eficientemente literais de strings. Quando um literal de string é criado (por exemplo, "olá"), a JVM primeiro procura na piscina. Se já existir, ela retorna uma referência ao objeto existente. Caso contrário, cria um novo objeto na piscina e retorna sua referência.
  • Criação:
    • Usando um literal de string: String s1 = "olá"; (usa o String Pool).
    • Usando o operador new: String s2 = new String("mundo"); (cria um novo objeto no heap, mesmo que "mundo" já esteja na piscina).
  • Comparação: Para comparar o conteúdo de strings, deve-se usar o método equals(), e não o operador ==. O operador == compara referências aos objetos.

Exemplo:

// Criando uma string usando um literal (da piscina)
String s1 = "Java";

// Criando uma string usando new (novo objeto no heap)
String s2 = new String("Java");

// Comparando o conteúdo (correto)
boolean contentEquals = s1.equals(s2); // true

// Comparando referências (incorreto para conteúdo)
boolean referenceEquals = (s1 == s2); // false

System.out.println("Conteúdo igual: " + contentEquals);
System.out.println("Referências iguais: " + referenceEquals);