如何查找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