在对 String 的操作中给出 false

In operation on String gives false

我试图查看字符串是否包含 groovy 中的字符。 以下代码 returns false

print "a" in "apple"

和以下代码 returns true

print "apple".cointains("a")

我尝试了与 list/array 相同的方法,在那种情况下,两个代码 returns true,

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

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

in 运算符依赖于 isCase 方法。 对于 string 对象,isCase 仅执行 equals-check.

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

有关默认 isCase 实施,请参阅 DefaultGroovyMethods