1

这是我的代码:

String Attr = parser.getAttributeValue(null, "name");
            String Text = parser.getText();
            if (Attr == "id"){
                parser.nextTag();
            }else if(Attr == "Lektion"){
                vocable.setUnit(Text);
                parser.nextTag();
            }else if(Attr == "Russisch"){
                vocable.setRussian(Text);
                parser.nextTag();
            }else if(Attr == "Umschrift"){
                vocable.setTranscript(Text);
                parser.nextTag();
            }else if(Attr == "Einzelwort"){
                int tf = Integer.parseInt(Text);
                Boolean bool = null;
                    switch (tf){
                    case 0:
                        bool= false;
                        break;
                    case 1:
                        bool= true;
                        break;
                    }
                vocable.setSingleWord(bool);
                parser.nextTag();
            }else if(Attr == "Deutsch"){
                vocable.setGerman(Text);
                parser.nextTag();
            }

我的xml文件的结构:

    <database name="russisch">
    <table name="vokabel">
        <column name="Lektion">1</column>
        <column name="id">1</column>
        <column name="Russisch">Как дела?</column>
        <column name="Umschrift">kak dilá</column>
        <column name="Deutsch">Wie geht’s?</column>
        <column name="Einzelwort">0</column>
    </table>
    <table name="vokabel">
        <column name="id">2</column>
        <column name="Lektion">1</column>
        <column name="Russisch">Очень хорошо!</column>
        <column name="Umschrift">ótschin charaschó</column>
        <column name="Deutsch">Sehr gut!</column>
        <column name="Einzelwort">0</column>
    </table>
</database>

如果我试图将属性值与给定的值进行比较,它永远不会返回 true,因此 if 语句永远不会被执行。我尝试手动设置 sring 并且它有效。因此我假设我只需要格式化返回的字符串,但我不知道如何。我真的希望有人可以提供帮助

4

1 回答 1

1

您不能将字符串与等号运算符进行比较:

Attr == "Einzelwort"

因为 String 是一个对象。equals 运算符测试两个对象是否是同一个对象,因此您将 Attr 与不是同一个对象的“Einzelwort”进行比较。

相反,请使用比较字符串的字符串值的 equals() 方法。

Attr.equals("Einzelwort")
于 2013-01-25T23:47:26.693 回答