No java == serve pra comparar se dois objetos são iguais
Porém, o equals(), ele pode ser "override" (que é o caso da String), e dois objetos diferentes, podem ser iguais
Se você criasse o código:
String x = "teste";
String y = new String("teste");
System.out.println(x == y); // false
System.out.println(x.equals(y)); // true
o primeiro resultado ia dar false, e o segundo true
ss, eu errei nessa parte e.e