2015-06-01 31 views
22

Bu aptalca bir soru olsa da, bazı dize değişmezlerini gruplandıran bir dizinin nasıl bildirileceğini anlayamıyorum. Örneğin, ["January", "February", "March"] java dizisinin olmasını istediğimizi varsayalım. Bunu en son kotlin versiyonu (today, 12.0.0)'a nasıl çevirebilirim?dize dizisi değişmezi? Nasıl kodlayabilirim?

Ne denedim?

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

cevap

73

Sen (a Java Array anlamına gelir) bir seçenektir

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

Sadece bir not, gerçekten bu yapabilirdi: ** 'val değişmezleri = arrayOf ("Ocak", "Şubat", "Mart")' ** ama ** ** argüman türü, dizinin içeriği tarafından zaten açık olduğundan, bu şekilde tamamdır ve ihmal edilebilir. – mruiz

+0

Veya "[" Ocak "," Şubat "," Mart "]' – yooouuri

+2

@yooouuri'yi yalnızca ek açıklamalarda izinlidir ve yalnızca Kotlin 1.2'de kullanıma sunulmuştur: https://kotlinlang.org/docs/reference/whatsnew12. html # dizi-değişmezleri-in-ek açıklamaları – vman

0

arrayOf gibi arrayOf(), kullanabilirsiniz.

olduğunu
val arr = arrayOf("January", "February", "March") 

, orada daha çok öğe eklemek için bu koleksiyonu genişletmek için hiçbir şekilde ama içindekileri mutasyona olabilir: Bu, verilen elementlerin bir değişken, sabit boyutlu bir kap verir. yerine sabit boyutta, (bazı noktası değişikliğinde mutableArrayOfcurrently returns an ArrayList ama bu belki) bir değişken büyüklükte koleksiyonu arrayListOf veya mutableArrayOf gidebilirsiniz arzu, varsa

: Elbette

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

, orada da bir üçüncü seçenek, değişmez bir sabit boyutlu koleksiyon, List. Bu, içeriğinin mutasyonunu desteklemez ve genişletilemez. birini oluşturmak için, listOf kullanabilirsiniz:

val arr = listOf("January", "February", "March") 
İlgili konular