在下面的示例中,someObjects 是一个集合。如果条件在循环中匹配,我试图返回 true,但这似乎无法编译。但是,当我只添加“return”时,它工作正常。我需要解决的问题是什么?
public boolean find(){
someObjects.forEach(obj -> {
if (some_condition_met) {
return true;
}
});
return false;
}
编译错误
Iterable 类型中的 forEach(Consumer) 方法不适用于参数 (( obj) -> {})
原文由 Punter Vicky 发布,翻译遵循 CC BY-SA 4.0 许可协议
forEach
Collection
需要一个Consumer
这意味着一个函数接受任何值,但不返回任何值。这就是为什么你不能使用return true;
但return;
工作正常。如果您想在满足条件时跳出循环,最好使用简单的
for(...)
循环。我假设obj
的类型是Object
: