繁体   English   中英

这两个相等吗?

[英]Are these two equivalent?

两者的结果是否相同? 如果是这样的话,我只是对为什么不必不必返回else语句返回inventoryList.size();感到困惑inventoryList.size(); 在第一段代码上,因为如果if语句为true,则不会返回0并返回inventoryList.size();

public int numItems() {
    if (inventoryList.isEmpty()) {
        return 0;
    }
    return inventoryList.size();
}

public int numItems()   {
  if (inventoryList.size() != 0)  {
     return inventoryList.size();
  }
  else  {
     return 0;
  }
}

您是否出于某些原因要包装清单清单。大小()方法? 你应该去

public int numItems() { return inventoryList.size(); }

那不是您想做什么?

它们是等效的。 无论哪种情况,您都可以跳过else,因为您从if语句的结果返回。

当执行return语句时,该方法在那里停止并且不再执行任何代码。 因此,这两个函数相等。

没有return语句退出该函数。 可以将其想像成幕后声明,这是幕后发生的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM