I've tried:
groovy:000> Set<String> s = ["a", "b", "c", "c"]
===> [a, b, c]
groovy:000> s
Unknown property: s
I want to be able to use this as a set, but even if I pass it explicitly, it turns it into an ArrayList:
groovy:000> joinList(["a", "b", "c", "c"])
ERROR groovy.lang.MissingMethodException:
No signature of method: groovysh_evaluate.joinList() is applicable for argument types: (java.util.ArrayList) values: [[a, b, c, c]]
Possible solutions: joinList(java.util.Set)
This problem only occurs because you're using the Groovy Shell to test your code. I don't use the Groovy shell much, but it seems to ignore types, such that
is equivalent to
and the latter does of course create a
List
. If you run the same code in the Groovy console instead, you'll see that it does actually create aSet
Other ways to create a
Set
in Groovy includeor