到目前为止,我想到了这一点。
public static boolean challenge(ArrayList<Thing> required, ArrayList<Thing> owned){
boolean result=false;
for(int i=0; i<=required.size(); i++)
{
for(int j=0; j<=owned.size(); j++)
{
///compare each required to all owned
///if (required.get(i) instanceof owned.get(j))
{ result=true;
}
/// else
{
result=false;
break;
}
}
}
return result;
}
它在if语句中给出了编译错误。 &#34; &#39;)&#39;预期&#34;
我有点失落。任何帮助将不胜感激。
答案 0 :(得分:1)
您可能希望改用required.get(i).getClass() == owned.get(j).getClass()
。
还要考虑使用'for each',例如
for(Thing r : required) {
for (Thing o : owned) {
if (r.getClass() ...
...
}
}
答案 1 :(得分:0)
正如Alex Nevidomsky所说,instanceof
应该与右侧部分的类型一起使用。应该是if (required.get(i) instanceof owned.get(j).getClass())
maybe this link will be helpful also