Kotlin 防止字符串.Contains与空匹配

Kotlin 防止字符串.Contains与空匹配,kotlin,Kotlin,我正在kotlin中的一个对象上运行filter命令,并尝试匹配结果。直到今天,我才意识到空字符串将与contains查询中的任何字符串匹配,如下所示: var brandname = "" var brandtofind = "tide" var result = brandtofind.contains(brandname) //results in true var candidates = this.filter{ product -> te

我正在kotlin中的一个对象上运行
filter
命令,并尝试匹配结果。直到今天,我才意识到空字符串将与contains查询中的任何字符串匹配,如下所示:

var brandname = ""
var brandtofind = "tide"
var result = brandtofind.contains(brandname) //results in true
var candidates = this.filter{ product -> 
                  text.contains(product.name) ||
                  text.contains(product.brandname) //brandname often empty
当您尝试匹配字符串可以为空的条目时,这是有问题的,如下所示:

var brandname = ""
var brandtofind = "tide"
var result = brandtofind.contains(brandname) //results in true
var candidates = this.filter{ product -> 
                  text.contains(product.name) ||
                  text.contains(product.brandname) //brandname often empty
我在没有品牌的产品上得到大量的误报。如何将查询更改为只有在存在真正匹配时才匹配?

您可以添加检查,这是的增强版本

您可以添加检查,这是的增强版本