0
私のプログラムに少し問題があります。イテレータとIf
Iterator<MyString> it = globalSet.iterator();
Iterator<String> it2 = globalArray.iterator();
while(it.hasNext() && it2.hasNext())
{
System.out.println(it2.next());
if(it.next().getLine().contains(it2.next()) == true)
{
//it.remove();
}
}
私はif節を無効にした場合、私の出力が正しく、次のようになります。
1;Trägertour 096;1410;Autotour 1N410;
2;Trägertour 097;1410;Autotour 1N410;
3;Trägertour 098;1410;Autotour 1N410;
4;Trägertour 099;1410;Autotour 1N410;
5;Trägertour 100;1410;Autotour 1N410;
しかし、if節が有効になっている場合は、私の出力は次のようになります。だから、
1;Trägertour 096;1410;Autotour 1N410;
3;Trägertour 098;1410;Autotour 1N410;
5;Trägertour 100;1410;Autotour 1N410;
どうして?
まあ...ありがとうございます!)! –
はい。エランの理由は正しい。一般に、オブジェクトを操作したいときは、そのオブジェクトを参照する(一時変数を使用する)のが賢明です。多くのプログラマがこのミスを犯しています。 –