【初心者】Java質問・相談スレッド59【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0124デフォルトの名無しさん
NGNGエレメントは複数あり、ループで生成したオブジェクトをArrayListに代入していきたいのですが、
その際全く同じ内容のものは代入したくありません。
そこでこのようにしてみました。
for(int i=0; i<nodeList.getLength(); i++){
Element elem = (Element)nodeList.item(i);
MyObj myObj = new MyObj(
elem.getAttribute("attr1"),
elem.getAttribute("attr2") );
if(!myArrayList.contains(myObj))
myArrayList.add(myObj);
}
この例で言うと、attr1とattr2の両方が同じものが既にmyArrayListに追加されているなら、
もう追加したくないのです。
しかし、これを実行すると(!myArrayList.contains(myObj))の評価が
必ずtrueとなり、全てのオブジェクトがmyArrayListに追加されてしまいます。
どうすればよかとですか?
■ このスレッドは過去ログ倉庫に格納されています