【发布时间】:2023-03-10 08:13:01
【问题描述】:
在下面的例子中, someObjects 是一个集合。如果循环中的条件匹配,我试图返回 true ,但这似乎无法编译。但是,当我只添加“return”时,它工作正常。我需要解决什么问题?
public boolean find(){
someObjects.forEach(obj -> {
if (some_condition_met) {
return true;
}
});
return false;
}
编译错误
类型中的forEach(Consumer)方法 Iterable 不适用于参数 (( obj) -> {})
【问题讨论】:
-
您在哪里添加“return”以使其工作?
-
什么是编译器错误?将输出添加到问题中。
-
不可能从 lambda 体内的外部方法返回。改用 for 循环
-
谢谢@cppbeginner。所以当我添加一个 return (without return value) 时,它只是退出循环?
-
我喜欢这个答案。 stackoverflow.com/a/20177092/6253321