[RESOLVIDO] Problema no IF após aplicar o String.trim()

Pessoal,

Estou quebrando a cabeça prá resolver um problema que aparenta ser simples.

Vejam o código abaixo:

      String texto = "123          ";
      System.out.println("ANTES:" + texto + "*");
      texto = texto.trim();
      System.out.println("DEPOIS:" + texto + "*");
      
      if (texto == "123")
         System.out.println("Achou!");
      else
         System.out.println("NÃO Achou!");

Se vocês perceberam, mesmo eu aplicando o trim() ele não acha n o IF …

Isto está acontencendo também como valores que estou buscando no banco de dados …

Como vocês podem ver, após aplicar o trim() eu dei um print da variável e ela foi ajustada! Mas não sei porque o IF não considera …

tente isso:

if (texto.equals("123"))

[]'s

Você não pode comparar Strings usando o operador ==. Para comprar String , utilize o metodo equals()

if (texto.equals(“123”)) {
. . .
}

o “==” nao funciona no if porque String nao eh um tipo primitivo, e sim uma classe. O operador “==” retorna true se as duas classes verificadas apontam para o mesmo espaço de memoria…

Por exemplo

String s1 = new String(“teste”);
String s2 = new String(“teste”);
if(s1==s2)
System.out.println(“nesse if o programa nao entra”);

s2=s1;
if(s1==s2)
System.out.println(" e nesse o programa entra!!!");

espero ter ajudado.
Eder

Obrigado a todos.

Consegui resolver utilizando o “equals”.