comment trouver si groovy args contient une chaîne de caractères
println args
println args.size()
println args.each{arg-> println arg}
println args.class
if (args.contains("Hello"))
println "Found Hello"
quand a couru donner l'erreur suivante:
[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]
pourquoi je ne peux pas faire contains
?
OriginalL'auteur groovynoob | 2010-03-12
Vous devez vous connecter pour publier un commentaire.
Parce que
args
estString[]
mais pasList<String>
Vous pouvez utiliser
OriginalL'auteur Mykola Golubyev
C'est parce que args est un tableau de Chaîne de caractères (comme en Java) et non pas une Chaîne, jetez un oeil à la suite de:
Avis de la [L notation.
Régulièrement Chaîne dans
Le Groovy conteneurs n'ont pas le contient (des) opération (String), mais le java.lang.Objet de Groovy SDK a la commande grep() opération (indiqué sur la première réponse).
OriginalL'auteur