【发布时间】:2010-10-16 20:53:59
【问题描述】:
我正在尝试编写一种方法,该方法通过对象数组查找某种颜色,这也是一个对象。
public Ghost findFirst(Color c){
for (int i=0;i<ghosts.length;i++) {
if (ghosts[i].getColor()==c)
return ghosts[i];
else
return null;
}
}
因此,如果某个幽灵的颜色与颜色 c 匹配,则返回该幽灵。但是,我收到了 i++ 的死代码警告。我的代码有什么问题?哦,我也收到一个方法错误,说这个函数应该返回一个幽灵。我以为我是?
【问题讨论】:
-
尝试正确缩进你的代码,然后你会自己看到。但基本上,你打败了你的 for 循环,如果第一种颜色不是你想要的,你会返回 null,甚至不会查看所有其他颜色。
-
正如我之前回答的那样,在比较
Color对象时,您需要使用equals()。