何らかの理由for-each
で、メソッド内のすべてのループが完全に無視され、その理由がわかりません。これが私のコードです:
private static boolean notUsed(ArrayList<Integer> check, ArrayList<ArrayList<Integer>> used)
{
boolean c1 = false;
boolean c2 = true;
for (ArrayList<Integer> item : used) // Not executed
{
System.out.println("It works!");
Collections.sort(item);
Collections.sort(check);
if (check.equals(item)) c1 = true;
}
ArrayList<Integer> existing = new ArrayList<Integer>();
for (int item : check)
{
for (int exists : existing) // Not executed
{
if (exists == item)
{
c2 = false;
break;
}
else existing.add(item);
}
if (c2 == false) break;
}
if (c1 && c2) return true;
else return false;
}
私は過去 15 分間それを調べてきましたが、なぜコードがループの内容を気にすることを拒否するのかわかりません。実際、Java がループの実行を回避できることさえ、今まで知りませんでした。明らかな何かが欠けていますか?