为什么返回null表示返回null; }

时间:2016-12-22 12:21:15

标签: android listview

我不明白为什么在以下代码中返回null。请帮忙

public Crime getCrime(UUID id){
   for (Crime crime: mCrimes){
      if (crime.getId().equals(id)){
        return crime;
      }
   }
   return null;
}

2 个答案:

答案 0 :(得分:3)

试着想象如果移除return null;会发生什么。在那之后,你就会理解为什么要把它放在那里是必要的。

在该方法中,您循环浏览mCrimes以检查是否存在其中一项罪行。 id等于参数id。如果是,则归还该罪行。如果mCrimes中的任何内容都不满足条件,那该怎么办?代码执行只会打破循环而......什么都不做?

我们无能为力,因为我们已声明方法返回Crime。我们不能退出方法而不返回任何东西!我们必须返回一些值。由于该方法返回具有特定id的犯罪,如果传入的id与任何犯罪不对应,我们应该不返回任何来表示该id没有犯罪。

因为如果发生这种情况我们想要什么都不返回,我们写

return null;

答案 1 :(得分:0)

因为如果List / Array不包含传递的id,那么它不会从循环中的条件返回并且在循环结束旁边。

然后最后一个方法需要返回一些东西。

这就是为什么它返回null。