For循环到Java 8 Stream forEach()
发布时间:2020-12-15 08:25:50 所属栏目:Java 来源:网络整理
导读:参见英文答案 Break or return from Java 8 stream forEach?????????????????????????????????????11个 我有一个for循环的列表,用于检查db中是否存在索引值. 如果任何值不存在,它会立即返回false. public boolean exists(ListString keys) { for(String key:
参见英文答案 >
Break or return from Java 8 stream forEach?????????????????????????????????????11个
我有一个for循环的列表,用于检查db中是否存在索引值. 如果任何值不存在,它会立即返回false. public boolean exists(List<String> keys) { for(String key: keys) { boolean exists = service.existsByKey(key); if(!exists) return false; } return true; } 我试图将它改为java 8 foreach,但它没有按预期工作. keys.stream().forEach(k -> { boolean exists = service.existsByKey(k); if(!exists) return false; }); 我错过了什么吗?为什么不进入forEach()中的(!exists)staetment? 解决方法
您的forEach方法中的return语句将被忽略.
尝试使用 boolean exists = key.stream().allMatch(k -> service.existsByKey(k)); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |