如何查找groovy参数是否包含特定字符串

如何查找groovy参数是否包含特定字符串,groovy,Groovy,运行时,请给出以下错误: println args println args.size() println args.each{arg-> println arg} println args.class if (args.contains("Hello")) println "Found Hello" 为什么我不能执行contains?因为args是String[]而不是List 你可以用 [hello, somethingelse] 2 hello somethinge

运行时,请给出以下错误:

println args

println args.size()

println args.each{arg-> println arg}

println args.class

if (args.contains("Hello"))
    println "Found Hello"

为什么我不能执行
contains

因为
args
String[]
而不是
List

你可以用

[hello, somethingelse]
2
hello
somethingelse
[hello, somethingelse]
class [Ljava.lang.String;
Caught: groovy.lang.MissingMethodException: No signature of method: [Ljava.lang.
String;.contains() is applicable for argument types: (java.lang.String) values:
[Hello]

这是因为args是一个字符串数组(与Java中一样),而不是字符串,请查看以下结果:

if (args.grep('Hello'))
    println "Found Hello"
请注意[L符号

常规字符串将导致:

print args.getClass()

>>class [Ljava.lang.String;

Groovy容器没有contains()操作(String有),但是Groovy SDK的java.lang.Object有grep()操作(如第一次回复所示)。

请看一些类似的问题
>>class java.lang.String