Réponses:
Il n'y a pas cas particulier pour String
, car String
est un type de référence ordinaire sur la JVM, contrairement aux primitives Java ( int
, double
...) - les stocker dans une référence Array<T>
nécessite les objets dans la boxe comme Integer
etDouble
. Le but des tableaux spécialisés comme IntArray
dans Kotlin est de stocker des primitives non boxées, en éliminant les frais généraux de boxing et de déballage (le même que Java int[]
au lieu de Integer[]
).
Vous pouvez utiliser Array<String>
(et Array<String?>
pour les nullables), ce qui équivaut à String[]
en Java:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Voir aussi: Tableaux dans la référence du langage
utiliser arrayOf , arrayOfNulls , emptyArray
var colors_1: Array<String> = arrayOf("green", "red", "blue")
var colors_2: Array<String?> = arrayOfNulls(3)
var colors_3: Array<String> = emptyArray()
Array of Strings
dans Kotlin, vous devez utiliser l'une des six approches suivantes:Première approche:
val empty = arrayOf<String>()
Deuxième approche:
val empty = arrayOf("","","")
Troisième approche:
val empty = Array<String?>(3) { null }
Quatrième approche:
val empty = arrayOfNulls<String>(3)
Cinquième approche:
val empty = Array<String>(3) { "it = $it" }
Sixième approche:
val empty = Array<String>(0, { _ -> "" })
Certaines des méthodes courantes pour créer un tableau de chaînes sont
Cela créera un tableau de 5 chaînes dont les valeurs initiales seront une chaîne vide.
<String?>
(5)Cela créera un tableau de taille 5 avec des valeurs initiales nulles. Vous pouvez utiliser des données String pour modifier le tableau.
Lorsque vous connaissez déjà le contenu du tableau, vous pouvez initialiser le tableau directement.
Il existe également un moyen simple de créer un tableau multidimensionnel de chaînes.
var matrice = Array (5) {Array (6) {""}}
C'est ainsi que vous pouvez créer une matrice avec 5 lignes et 6 colonnes avec des valeurs initiales de chaîne vide.
Cet exemple fonctionne parfaitement sous Android
Dans kotlin, vous pouvez utiliser une expression lambda pour cela. La définition du constructeur de tableaux Kotlin est:
Array(size: Int, init: (Int) -> T)
Qui évalue à:
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Ou:
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Dans cet exemple, la définition du champ était:
private var skillsSummaryDetailLinesArray: Array<String>? = null
J'espère que cela t'aides
vous pouvez aussi utiliser:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
par exemple.
typealias StringArray = Array<String>
;)