wie zu finden, wenn groovy args enthält eine bestimmte Zeichenfolge
println args
println args.size()
println args.each{arg-> println arg}
println args.class
if (args.contains("Hello"))
println "Found Hello"
wenn ran geben Sie folgenden Fehler:
[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]
warum kann ich nicht tun contains
?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil
args
istString[]
aber nichtList<String>
Können Sie
Weil args ist ein array von Strings (wie in Java) und nicht ein String, werfen Sie einen Blick auf das Ergebnis:
Beachten Sie die [L notation.
Eine regelmäßige Zeichenfolge führen würde:
Groovy-Container nicht über die contains () - operation (String), noch die java.lang.Objekt Groovy SDK hat die grep () - operation (siehe erste Antwort).