J'ai ce code:non valide si la déclaration
Node main_node = document.getDocumentElement();
NodeList main_node_list = main_node.getChildNodes();
for(int main_iterator = 0; main_iterator < main_node_list.getLength(); main_iterator++) {
Node child_node = main_node_list.item(main_iterator);
String child_node_name = child_node.getNodeName();
if(child_node_name == "#text") continue;
Toast.makeText(context, "\"" + child_node_name + "\"", Toast.LENGTH_SHORT).show();
if(child_node_name == "library_visual_scenes") {
...
}
}
Il ne peut pas être plus clair, mais dans le Toast entre les deux si les déclarations, il montre que child_node_name est exactement égal « library_visual_scenes » à certains point. Ceci sans la seconde déclaration if étant vraie.
La première instruction if, lorsque child_node_name est égal à "#text" est exécutée. Ce qui signifie que je ne vois jamais le texte "#text" dans le Toast.
child_node_name est un objet String. Est-ce la bonne façon de comparer une chaîne avec une chaîne de caractères?
Je ne peux pas savoir ce qui se passe ici. Cela pourrait-il être quelque chose de spécifique à Android, puisque presque le même code fonctionne si je l'exécute en Java sur mon ordinateur?
Si ce n'est pas l'erreur programmeur java novice la plus courante, il doit être proche. –
Merci! Je vois que vous utilisez "text" .equals (String) et non String.equals ("text"). Y a-t-il un moyen préféré? – Espen
@ Eh bien, "texte" .equals (une_variable) peut vous sauver (empêcher NullPointerEception possible) dans la situation où some_variable est null. Donc, je pense que c'est la façon préférée dans le cas où vous n'êtes pas totalement sûr qu'il est sûr d'invoquer some_variabe.equals() –