当前位置:  开发笔记 > 编程语言 > 正文

如果找不到元素,如何在java流中返回默认的布尔值?

如何解决《如果找不到元素,如何在java流中返回默认的布尔值?》经验,为你挑选了2个好方法。

我想确定一个给定的字符串是否匹配 - 忽略大小写 - 一个元素中的一个List.

我正在尝试使用Java 8流来实现这一点.这是我的尝试使用.orElse(false):

public static boolean listContainsTestWord(List list, String search) {
    if (list != null && search != null) {
        return list.stream().filter(value -> value.equalsIgnoreCase(search))
          .findFirst().orElse(false);
    }
    return false;
}

但那不会编译.

如何编码以返回是否找到匹配?



1> Tagir Valeev..:

用途Stream.anyMatch:

public static boolean listContainsTestWord(List list, String search) {
    if (list != null && search != null) {
        return list.stream().anyMatch(search::equalsIgnoreCase);
    }
    return false;
}



2> Bohemian..:

这是单线的:

public static boolean listContainsTestWord(List list, String search) {
    return list != null && search != null && list.stream().anyMatch(search::equalsIgnoreCase);
}

甚至不用理会方法:

if (list != null && search != null && list.stream().anyMatch("someString"::equalsIgnoreCase))

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有