Je vois que Kotlin a ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
, ce qui est équivalent à byte[], short[], int[],char[], double[], float[]
Java.
Maintenant, je me demande, y a-t-il un StringArray
équivalent à Java String[]
?
typealias StringArray = Array<String>
;)Réponses:
Il n'y a pas cas particulier pour
String
, carString
est un type de référence ordinaire sur la JVM, contrairement aux primitives Java (int
,double
...) - les stocker dans une référenceArray<T>
nécessite les objets dans la boxe commeInteger
etDouble
. Le but des tableaux spécialisés commeIntArray
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 Javaint[]
au lieu deInteger[]
).Vous pouvez utiliser
Array<String>
(etArray<String?>
pour les nullables), ce qui équivaut àString[]
en Java:Voir aussi: Tableaux dans la référence du langage
la source
utiliser arrayOf , arrayOfNulls , emptyArray
la source
Pour créer un vide
Array of Strings
dans Kotlin, vous devez utiliser l'une des six approches suivantes:Première approche:
Deuxième approche:
Troisième approche:
Quatrième approche:
Cinquième approche:
Sixième approche:
la source
Ces types sont là pour que vous puissiez créer des tableaux des primitives, et non des types encadrés. Puisque String n'est pas une primitive en Java, vous pouvez simplement l'utiliser
Array<String>
dans Kotlin comme l'équivalent d'un JavaString[]
.la source
Pour
Strings
et d'autres types, vous utilisez simplementArray<*>
. La raisonIntArray
et d'autres existent est d'empêcher l'autoboxing.Cela
int[]
concerne doncIntArray
où seInteger[]
rapporteArray<Int>
.la source
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.
la source
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:
Qui évalue à:
Ou:
Dans cet exemple, la définition du champ était:
J'espère que cela t'aides
la source
vous pouvez aussi utiliser:
par exemple.
la source