Qual a diferença entre == e equals?

Eu estava fazendo a seguinte comparação:

if(txtPalavra.getText() == palavra.getTraducao()) ) {

E não estava funcionando, ai eu troquei o == por equals.

if(txtPalavra.getText().equals(palavra.getTraducao()) ) {

Por que não funcionou com o ==, sendo que os dois métodos retornam String?

3 curtidas