web-dev-qa-db-fra.com

tableau de chaînes littéral? Comment le coder simplement?

Bien que cela puisse être une question stupide, je ne peux pas comprendre comment déclarer un littéral de tableau regroupant certains littéraux de chaîne.

Par exemple, supposons que je veux le tableau Java _ ["January", "February", "March"]. Comment puis-je traduire cela dans la dernière version de kotlin (today, 12.0.0)?

Qu'est-ce que j'ai essayé?

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

Vous pouvez utiliser arrayOf (), comme dans

val literals = arrayOf("January", "February", "March")
105
Hadi Hariri

arrayOf (qui se traduit par Java Array ) est une option. Cela vous donne un conteneur mutable de taille fixe des éléments fournis:

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

c'est-à-dire qu'il n'y a aucun moyen d'étendre cette collection pour inclure plus d'éléments mais vous pouvez muter son contenu.

Si, au lieu de taille fixe, vous désirez une collection de taille variable, vous pouvez aller avec arrayListOf ou mutableListOf (mutableListOfrenvoie actuellement un ArrayList mais cela pourrait à un moment donné changer):

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

Bien sûr, il y a aussi une troisième option, une collection immuable de taille fixe, List. Cela ne prend pas en charge la mutation de son contenu et ne peut pas être étendu. Pour en créer un, vous pouvez utiliser listOf :

val arr = listOf("January", "February", "March") 
2