2015-06-01 20 views
22

雖然這可能是一個愚蠢的問題,我不知道如何聲明一個數組文字分組的一些字面值。例如,假設我想要java數組["January", "February", "March"]。 如何將此轉換爲最新的kotlin版本(today, 12.0.0)字符串數組文字?我如何簡單地編碼?

我試過了什麼?

stringArray("January", "February", "March") 

回答

73

您可以使用arrayOf(),如

val literals = arrayOf("January", "February", "March") 
+2

剛一說明,真的是你可以這樣做:** 'VAL文字= arrayOf ( 「一月」, 「二月」, 「三月」),' **,但參數類型** **已經被數組的內容顯式化了,所以可以這樣做,並且可以省略。 – mruiz

+0

或者使用'[「January」,「February」,「March」]' – yooouuri

+2

@yooouuri只能在註釋中使用,並且僅在Kotlin 1.2中引入:https://kotlinlang.org/docs/reference/whatsnew12。 HTML#陣列文字-中的註解 – vman

0

arrayOf(這相當於一個Java Array)是一種選擇。這給你提供的元素可變的,固定大小的容器:

val arr = arrayOf("January", "February", "March") 

也就是說,有沒有辦法來擴展這個集合,包括更多的元件,但你可以變異它的內容。

如果,而不是固定大小的,你想要的大小可變的集合,你可以去用arrayListOfmutableArrayOfmutableArrayOfcurrently returns an ArrayList,但是這可能會在某個時候改變):

val arr = arrayListOf("January", "February", "March")  
arr.add("April") 

當然,還有一個第三個選項,一個不可變的固定大小的集合,List。這不支持其內容的變化並且不能被擴展。要創建一個,你可以使用listOf

val arr = listOf("January", "February", "March") 
相關問題