gpt4 book ai didi

java - 使用 stream().filter() 在 java List 上执行不区分大小写的搜索

转载 作者:行者123 更新时间:2023-11-29 09:59:22 26 4
gpt4 key购买 nike

我正在尝试使用 stream().filter(...) 在 Java List 上执行不区分大小写的搜索。

我的搜索功能工作正常,但我还没有设法实现它在不区分大小写的情况下工作。我的函数看起来像这样:

public static List<License> searchByEverything(String keyword, String dealerid){
List<License> licenseDealerList = getLicensesByDealer(dealerid);

// org.apache.commons.lang3.StringUtils.containsIgnoreCase(keyword);


Predicate<License> licensePredicate = u -> u.name1.contains(keyword);
List<License> filteredList = licenseDealerList.stream().filter(licensePredicate).collect(Collectors.toList());

return filteredList;
}

如您所见,我尝试使用 apache 公共(public)库,但我不知道如何将它包含在我的 stream().filter(...) 中。我研究了一些不同的方法,但并没有真正理解如何将它们中的任何一种实现到我的方法中。在我的例子中,从对象值的字符串值执行搜索并返回一个对象非常重要。

我知道我可以使用类似 matchAny() 的东西来代替 filter() 但我不明白如何将它作为对象返回。

提前致谢

最佳答案

你可以使用 toLowerCase() :

u -> u.name1.toLowerCase().contains(keyword.toLowerCase());

这样两个值的大小写相同,您的搜索不区分大小写。

关于java - 使用 stream().filter() 在 java List 上执行不区分大小写的搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43753292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com