浏览一系列对象

Sno*_*man 1 java arrays object

我正在尝试编写一个方法来查看某个颜色​​的对象数组,这也是一个对象.

public Ghost findFirst(Color c){
        for (int i=0;i<ghosts.length;i++) {
            if (ghosts[i].getColor()==c)
            return ghosts[i];
        else
            return null;
            }  
    }
Run Code Online (Sandbox Code Playgroud)

因此,如果某个幽灵的颜色与颜色c匹配,则返回该幽灵.但是,我收到了i ++的死代码警告.我的代码有什么问题?哦,我也得到一个方法错误,说这个函数应该返回一个鬼.我以为我是?

oxb*_*kes 7

因为你在第一次迭代时从循环返回!所以"我"永远不会增加.要么完全删除else块,要么将"return null"更改为"continue".

作为一个单独的点,==是检查引用相等,而不是对象相等.你似乎应该使用".equals"代替