У меня есть этот код:Нерабочий если заявление
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") {
...
}
}
Это не может быть яснее, но в Toast между двумя, если заявления, это показывает, что child_node_name точно равна «library_visual_scenes» в некоторых точка. Это без второго утверждения if.
Первый оператор if, когда child_node_name равно "#text", выполняется. Значение Я никогда не вижу текст «#text» в Toast.
child_node_name - это объект String. Это правильный способ сравнения строки с символьной строкой?
Я не могу узнать, что здесь происходит. Может ли это быть какой-то особенностью Android, поскольку почти такой же код работает, если я запускаю его как обычную Java на своем компьютере?
Если это не самая распространенная ошибка программиста java-новичка, она должна быть близкой. – 2010-11-27 16:16:54