У меня есть этот код:
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" ) {
...
}
}
Это не может быть более понятным, но в тосте между двумя утверждениями if он показывает, что child_node_name в какой-то момент точно равен "library_visual_scenes". Это без второго утверждения if, являющегося истинным.
Первый оператор if, когда child_node_name равен «#text», действительно выполняется. Это означает, что я никогда не вижу текст "#text" в тосте.
child_node_name является объектом String. Это правильный способ сравнения строки с символьной строкой?
Я не могу выяснить, что здесь происходит. Может ли это быть чем-то специфичным для Android, поскольку почти тот же код работает, если я запускаю его как обычный Java на моем компьютере?