在字符串上的操作给出false

时间:2018-10-30 11:08:04

标签: string groovy contains

我试图查看一个字符串是否包含常规的字符。 以下代码返回false

print "a" in "apple"

,随后的代码返回true

print "apple".cointains("a")

我对列表/数组尝试了相同的方法,在这种情况下,两个代码都返回true,

def a=[1,2,3]
print 1 in a //prints true
print a.contains(1)//prints true

为什么in在字符串中不起作用?

1 个答案:

答案 0 :(得分:1)

in 运算符取决于 isCase 方法。 对于 string 对象, isCase 仅执行等于检查。

尝试根据您的情况覆盖 isCase 方法。

有关默认的 isCase 实现,请参见DefaultGroovyMethods