首页 > 解决方案 > 对于 Java 8 中的每个循环:在 Java 8 中编写以下代码的最佳方法是什么

问题描述

就 for 循环和过滤而言,在 Java 8 中编写以下代码的最佳方法是什么。

boolean flag = true;
List<Feed> availableFeeds = data.getAvailableFeeds();
for (Feed feedElement : availableFeeds) {
    String type = feedElement.getType();
    if ("MatchState".equals(type)) {
        flag = false;
        break;
    }
}

标签: javafiltering

解决方案


boolean flag = data.getAvailableFeeds()
                   .stream()
                   .map(Feed::getType)
                   .noneMatch("MatchState"::equals)

第一行从列表中创建一个流。第二个Feed通过调用将每个映射到 type getType。如果没有类型等于字符串“MatchState”,则最后一个返回 true。


推荐阅读