流过滤器添加条件

Stream filter add condition

如何使用 Lamdas 仅在 result.getExtendedAddress() 存在时添加条件?

原始状态:

.filter(result -> StringUtils.isNotBlank(title) && StringUtils.contains(result.getTitle().toLowerCase(), title.toLowerCase()))

新条件:

.filter(result -> StringUtils.isNotBlank(title) &&
                        (StringUtils.contains(result.getTitle().toLowerCase(), title.toLowerCase()) ||
                                ((result.getExtendedAddress()!= null) && (StringUtils.contains(result.getExtendedAddress().toLowerCase(), title.toLowerCase()))))

这个新的条件好像太复杂了,想知道有没有更好的办法?

感谢@Thomas,我能够使用 StringUtils.containsIgnoreCase() 快速找到解决方案。方法描述here.

解决方案:

.filter(result -> StringUtils.isNotBlank(title) &&
                        (StringUtils.containsIgnoreCase(result.getTitle(), title) ||
                                StringUtils.containsIgnoreCase(result.getAdditionalAddress(), title)))