2017-01-09 5 views
1

ich Groovy neu bin und nach erreichen müssen, habe ich eine Konstante definiert alsein Komma getrennte Zeichenkette ein Verfahren Passing in groovy

static String listOfAllFields = "Field1","Field2","Field3"

Ich bin vorbei diese Variable in einem Verfahren verifyFields(listOfAllFields) und die Methodenimplementierung ist

def verifyFields(String... fields) { 
    fields.each { 
    //do something 
    } 
} 

, wenn ich wie dieses verifyFields("Field1","Field2,"Field3") die Methode funktioniert passieren, aber wenn ich diese durch eine Variable übergeben haben, wie erreiche ich? Wie gebe ich die "," getrennten Werte als List in groovy an listOfAllFields weiter.

Antwort

1

Sie verwenden nur list literal für die

static listOfAllFields = [ "Field1","Field2","Field3" ] 

dann können Sie eine spread operator verwenden Sie es in die Methode zu übergeben:

verifyFields(*listOfAllFields) 
0

Wenn Ihre Konstante ist ein String als zu einer Liste im Gegensatz the split method sollte ausreichen.

static final String ALL_FIELDS = 'Field1,Field2,Field3' 
verifyFields(ALL_FIELDS.split(',')) 
Verwandte Themen