Antworten:
Es gibt keinen Sonderfall für String
, weil String
ein gewöhnlichen Referenztyp auf JVM ist, im Gegensatz zu Java Primitiven ( int
, double
, ...) - sie in einer Referenz Speicherung Array<T>
erfordert sie in Objekte Box wie Integer
undDouble
. Der Zweck von speziellen Arrays wie IntArray
in Kotlin besteht darin, nicht-boxed Primitive zu speichern, um den Overhead beim Boxen und Unboxing zu beseitigen (das gleiche wie bei Java int[]
anstelle von Integer[]
).
Sie können Array<String>
(und Array<String?>
für nullables) verwenden, was String[]
in Java äquivalent ist :
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Siehe auch: Arrays in der Sprachreferenz
Verwenden Sie 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
in Kotlin zu erstellen , sollten Sie einen der folgenden sechs Ansätze verwenden:Erste Ansatz:
val empty = arrayOf<String>()
Zweiter Ansatz:
val empty = arrayOf("","","")
Dritter Ansatz:
val empty = Array<String?>(3) { null }
Vierter Ansatz:
val empty = arrayOfNulls<String>(3)
Fünfter Ansatz:
val empty = Array<String>(3) { "it = $it" }
Sechster Ansatz:
val empty = Array<String>(0, { _ -> "" })
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.
Dieses Beispiel funktioniert perfekt in Android
In Kotlin können Sie hierfür einen Lambda-Ausdruck verwenden. Die Kotlin Array Constructor-Definition lautet:
Array(size: Int, init: (Int) -> T)
Was ergibt:
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Oder:
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
In diesem Beispiel lautete die Felddefinition:
private var skillsSummaryDetailLinesArray: Array<String>? = null
Hoffe das hilft
Sie können auch verwenden:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
beispielsweise.
typealias StringArray = Array<String>
;)