Ich sehe, dass Kotlin hat ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
, die byte[], short[], int[],char[], double[], float[]
in Java gleichwertig sind .
Jetzt frage ich mich, gibt es ein StringArray
Äquivalent zu Java String[]
?
typealias StringArray = Array<String>
;)Antworten:
Es gibt keinen Sonderfall für
String
, weilString
ein gewöhnlichen Referenztyp auf JVM ist, im Gegensatz zu Java Primitiven (int
,double
, ...) - sie in einer Referenz SpeicherungArray<T>
erfordert sie in Objekte Box wieInteger
undDouble
. Der Zweck von speziellen Arrays wieIntArray
in Kotlin besteht darin, nicht-boxed Primitive zu speichern, um den Overhead beim Boxen und Unboxing zu beseitigen (das gleiche wie bei Javaint[]
anstelle vonInteger[]
).Sie können
Array<String>
(undArray<String?>
für nullables) verwenden, wasString[]
in Java äquivalent ist :Siehe auch: Arrays in der Sprachreferenz
quelle
Verwenden Sie arrayOf , arrayOfNulls , emptyArray
quelle
Um ein Leerzeichen
Array of Strings
in Kotlin zu erstellen , sollten Sie einen der folgenden sechs Ansätze verwenden:Erste Ansatz:
Zweiter Ansatz:
Dritter Ansatz:
Vierter Ansatz:
Fünfter Ansatz:
Sechster Ansatz:
quelle
Diese Typen sind vorhanden, damit Sie Arrays der Grundelemente und nicht der Box-Typen erstellen können. Da String in Java kein Grundelement ist, können Sie es
Array<String>
in Kotlin nur als Äquivalent zu Java verwendenString[]
.quelle
Für
Strings
und andere Typen verwenden Sie einfachArray<*>
. Der GrundIntArray
und andere Gründe sind, Autoboxing zu verhindern.Bezieht
int[]
sich also darauf,IntArray
wo sichInteger[]
beziehtArray<Int>
.quelle
Einige der gängigen Methoden zum Erstellen eines String-Arrays sind:
Dadurch wird ein Array von 5 Zeichenfolgen mit Anfangswerten als leere Zeichenfolge erstellt.
<String?>
(5)Dadurch wird ein Array der Größe 5 erstellt, dessen Anfangswerte null sind. Sie können String-Daten verwenden, um das Array zu ändern.
Wenn Sie den Inhalt des Arrays bereits kennen, können Sie das Array direkt initialisieren.
Es gibt auch eine einfache Möglichkeit, ein mehrdimensionales Array von Zeichenfolgen zu erstellen .
var matrix = Array (5) {Array (6) {""}}
Auf diese Weise können Sie eine Matrix mit 5 Zeilen und 6 Spalten mit den Anfangswerten der leeren Zeichenfolge erstellen.
quelle
Dieses Beispiel funktioniert perfekt in Android
In Kotlin können Sie hierfür einen Lambda-Ausdruck verwenden. Die Kotlin Array Constructor-Definition lautet:
Was ergibt:
Oder:
In diesem Beispiel lautete die Felddefinition:
Hoffe das hilft
quelle
Sie können auch verwenden:
beispielsweise.
quelle