2010-02-18 23 views
36

串在紅寶石,還有一個indiom創建的字符串像這樣的數組:陣列中的常規

names = %w(lucas Fred Mary) 

是否有類似的東西在Groovy?

回答

34

大多數情況下,你會在groovy而不是數組中創建一個列表。你可以做這樣的:

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

另外,如果你不想讓你這樣的紅寶石例子一樣引述的一切,你可以這樣做:

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

但有時API需要一個String [],所以在答案中提供這兩個選項會很好。 – Snekse 2014-11-15 01:09:40

+0

不錯。我實際上正在創建一個數組,轉換爲列表,然後檢查它是否包含字符串,但是我可以直接創建列表並調用'contains()'來跳過中間部分。這就是Groovy! – 2016-02-12 18:45:12

86

如果你真的想創建陣列而不是一個列表中使用任一

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

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

或確實[「lucas」,「Fred」,「Mary」] as String [] – 2010-02-20 13:26:48

+12

或'(String [])['Lucas','Fred','Mary']' – 2010-02-20 15:54:22

+14

我想toArray()返回一個Object [],而不是String []。 – Snekse 2014-11-15 01:24:26