我有一个定义如下的列表:
def list1=["Test1","Test2","Test3"]
String str="Test2"
println("Found The String is:"+list1.contains(str));
//It is returning false even though there is a matching string.
答案 0 :(得分:0)
您在此处输入的内容可以正常工作,因此还有其他问题。我的猜测是您已经做了类似的事情:
String part = "Test"
String str="Test2"
def list1=["${part}1","${part}2","Test3"]
def found = list1.contains(str)
在这种情况下,found
将为假...,因为:
"${'test'}"
不不等于"test"
,对于某些相等的定义...即使将它们都打印出来也是如此。
原因如下:Groovy different results on using equals() and == on a GStringImpl