2010-02-18 16 views
36

In Ruby gibt es eine indiom ein Array von Strings wie diese zu erstellen:Array von Strings in groovy

names = %w(lucas Fred Mary) 

Gibt es so etwas wie das in groovy?

Antwort

34

Die meiste Zeit würden Sie eine Liste in groovy eher als ein Array erstellen. Man könnte es wie folgt tun:

names = ["lucas", "Fred", "Mary"] 

Alternativ kann, wenn man nicht alles zitieren wollte, wie Sie in der Ruby-Beispiel tat, könnten Sie dies tun:

names = "lucas Fred Mary".split() 
+5

Aber manchmal erfordern APIs eine Zeichenfolge [], also wäre es schön, beide Optionen in der Antwort bereitzustellen. – Snekse

+0

Schön. Ich wollte eigentlich ein Array erstellen, in eine Liste konvertieren und dann prüfen, ob es eine Zeichenkette enthält, aber ich kann den mittleren Teil überspringen, indem ich die Liste direkt erstelle und 'contains()' aufruft. Das ist Groovy! –

86

Wenn Sie wirklich erstellen möchten ein Array anstatt einer Liste entweder

String[] names = ["lucas", "Fred", "Mary"] 

oder

def names = ["lucas", "Fred", "Mary"].toArray() 
+42

oder tatsächlich ["Lucas", "Fred", "Mary"] als String [] –

+12

oder '(String []) ['Lucas', 'Fred', 'Mary']' –

+14

Ich glaube toArray() gibt ein zurück Objekt [], kein String []. – Snekse