0

特定のインスタンスを検索しているドキュメントがありますが、それらのインスタンスはユーザーによって指定されており、複数あります。配列に対して Nodelist を検索する for ループ内の for ループ以外に、システムを停止させない方法はありますか? それとももっと簡単な方法ですか?

これまでのところ、私のコードは要約すると次のようになります。

public void sortDoc(Document doc){
    NodeList list = doc.getFirstChild().getChildNodes();
    ArrayList<String> typeList = otherSorter.getTypes();
    for(int i=0; i<list.getLength(); i++){
        for(int j=0; j<typeList.size(); j++){
            if(list.item(i).getNodeName()==typeList.get(j)){
                doTheThing();
            }
        }
    }
}

ご協力いただきありがとうございます。

4

2 に答える 2

3

を使用しList#contains(Object)て、ArrayList 内のノード名を確認できます。

for(int i=0; i<list.getLength(); i++){
    if(typeList.contains(list.item(i).getNodeName())){
         // Do Something.
    }
}

また、

if(list.item(i).getNodeName()==typeList.get(j)) {

上記の==演算子を文字列値の比較に使用しないでください。

equals()次のような文字列値の比較には、常にメソッドを使用します。

if(list.item(i).getNodeName().equals(typeList.get(j))) {
于 2013-09-27T05:46:55.423 に答える