How can I add a condition only when result.getExtendedAddress()
exists using Lamdas?
Original condition:
.filter(result -> StringUtils.isNotBlank(title) && StringUtils.contains(result.getTitle().toLowerCase(), title.toLowerCase()))
New condition:
.filter(result -> StringUtils.isNotBlank(title) &&
(StringUtils.contains(result.getTitle().toLowerCase(), title.toLowerCase()) ||
((result.getExtendedAddress()!= null) && (StringUtils.contains(result.getExtendedAddress().toLowerCase(), title.toLowerCase()))))
This new condition seems overly complicated and I would like to know if there is a better way to do it?
Thanks to @Thomas I was able to quickly find the solution using StringUtils.containsIgnoreCase()
. The method is described here.
Solution:
.filter(result -> StringUtils.isNotBlank(title) &&
(StringUtils.containsIgnoreCase(result.getTitle(), title) ||
StringUtils.containsIgnoreCase(result.getAdditionalAddress(), title)))