[英]Return an element of a for-loop outside the for-loop
如何返回for循环的元素?
private List<String> list = new ArrayList<String>();
//we only neeed one good element of the list
String find(){
for (int i=0; i<list.size(); i++){
if (list.get(i).isGood()) {
return list.get(i);
}
}
return list.get(i); //doesn't work obviously, but how to make it work?
}
它没有编译,因为没有return语句。 我想返回list.get(i)。
在return
调用之后不必调用break
,因为该方法在return
语句之后退出。 因此, break
语句将永远无法执行,这就是为什么此代码无法编译的原因。
此外,如果循环后没有返回值,则在循环后需要return
或throw
语句,例如:
String find(){
for (int i=0; i<list.size(); i++){
if (list.get(i).isGood()) {
return list.get(i);
}
}
return null;
}
调用return
不必break
。 它从调用return
的行中退出该方法。 因此,您不必考虑打破循环。
了解有关退货的更多信息。
当到达return
指令时,代码会立即从当前函数中退出 ,因此不接受任何后续行,因为它将永远无法到达。
break;
调用是无法访问的代码语句。 任何代码早午餐都应具有return语句。 使用Stream API:
String find() {
return list.stream()
.filter(Clazz::isGood)
.findFirst()
.get();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.