Les chaînes ne semblent pas être égale à Java sur Android, même si ils ont la même impression

J'ai un problème que je suis plutôt confus. J'ai les lignes de code suivantes dans mon application android:

System.out.println(CurrentNode.getNodeName().toString());
if (CurrentNode.getNodeName().toString() == "start") {
    System.out.println("Yes it does!");
} else {
    System.out.println("No it doesnt");
}

Quand je regarde la sortie de la première println déclaration, il apparaît dans le LogCat "start" (sans les guillemets évidemment). Mais ensuite, quand les si l'exécution d'une instruction, il passe à l'instruction else et d'estampes "Non, ce n'est pas".

Je me demandais si le nom du nœud peut avoir une sorte de non-impression de caractère, j'ai donc vérifié la longueur de la chaîne venant de getNodeName() et il est de 5 caractères, comme vous le souhaitez.

Quiconque a une idée de ce qui se passe ici?

OriginalL'auteur robintw | 2010-04-24