Eli*_*nes 1 java search list case-insensitive java-stream
我正在尝试使用Java列表执行敏感搜索stream().filter(...).
我的搜索功能工作正常但我没有设法实现这个工作没有区分大小写.我的函数看起来像这样:
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;
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到我试图使用apache commons库但我不知道如何将它包含在我的stream().filter(...).我研究了一些不同的方法,但并没有真正理解如何将它们中的任何一个实现到我的方法中.在我的情况下,从对象值的字符串值执行搜索并返回对象非常重要.
我知道我可以使用类似的东西matchAny()而不是filter()但我不明白如何将它作为一个对象返回.
提前致谢
你可以使用toLowerCase():
u -> u.name1.toLowerCase().contains(keyword.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
这样,两个值都在相同的情况下,并且您的搜索是不区分大小写的.
| 归档时间: |
|
| 查看次数: |
2399 次 |
| 最近记录: |