【发布时间】:2021-08-14 02:35:36
【问题描述】:
简单的虚拟问题...我创建了一个在 for 循环后向我发送对象的方法。 for 循环返回我有问题的对象。但是 Java 要求我在方法的底部发送一个返回值。问题是......我没有任何东西可以在我的方法之外返回。有办法告诉我只返回一个错误吗?
这里有问题的代码......非常简单!
public Stock getStockInfos(String selectedStock) {
for(Stock temp:registreStock){
if((temp.getSymbol()).equals(selectedStock)){
return temp;
}
}
}
通常,我需要在最后添加一个 return 语句......我找到的一个解决方案是制作 temp 的副本并在底部返回这个副本。如果这是正确的解决方案,是否有一种简单的方法可以复制/克隆此对象?
【问题讨论】:
-
你的方法签名承诺返回一个股票。 for 循环和条件不保证匹配。如果没有匹配应该怎么办?解决此问题的一种方法是返回 null 并将处理委托给调用者。
-
当你的方法声明一个返回类型时,如果你的 if 语句总是返回 false,你需要返回一些东西。如果没有找到,您可以在方法结束时返回一个可选的空。或者只是空。但可选会更安全。
-
如果没有一只股票与所选股票代码匹配,你的方法应该返回什么?
-
“返回错误”通常意味着“抛出异常”
-
在 for 循环之外(之前)声明 temp。搜索“java 变量范围”。
标签: java object return return-type