Odpowiedzi:
Nie ma szczególny przypadek String
, ponieważ String
jest zwykłym referencyjna typ na JVM, w przeciwieństwie do prymitywów Java ( int
, double
...) - przechowywanie ich w odniesieniu Array<T>
wymaga boks je do obiektów, jak Integer
iDouble
. Celem wyspecjalizowanych tablic, takich jak IntArray
w Kotlinie, jest przechowywanie nieopakowanych prymitywów, pozbycie się pudełkowania i narzutu rozpakowywania (takie same jak w Javie int[]
zamiast Integer[]
).
Możesz użyć Array<String>
(i Array<String?>
dla wartości null), co jest równoważne z String[]
w Javie:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Zobacz także: Tablice w odwołaniu do języka
użyj 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
w Kotlinie, powinieneś użyć jednego z sześciu następujących podejść:Pierwsze podejście:
val empty = arrayOf<String>()
Drugie podejście:
val empty = arrayOf("","","")
Trzecie podejście:
val empty = Array<String?>(3) { null }
Czwarte podejście:
val empty = arrayOfNulls<String>(3)
Piąte podejście:
val empty = Array<String>(3) { "it = $it" }
Szóste podejście:
val empty = Array<String>(0, { _ -> "" })
Niektóre z typowych sposobów tworzenia tablicy String to
Spowoduje to utworzenie tablicy 5 ciągów z wartościami początkowymi, które będą pustym łańcuchem.
<String?>
(5)Spowoduje to utworzenie tablicy o rozmiarze 5 z wartościami początkowymi null. Możesz użyć danych typu String, aby zmodyfikować tablicę.
Jeśli znasz już zawartość tablicy, możesz bezpośrednio zainicjować tablicę.
Istnieje również łatwy sposób tworzenia wielowymiarowej tablicy ciągów.
var matrix = Array (5) {Array (6) {""}}
W ten sposób można utworzyć macierz z 5 wierszami i 6 kolumnami z początkowymi wartościami pustego ciągu.
Ten przykład działa doskonale w systemie Android
W kotlinie możesz użyć do tego wyrażenia lambda. Definicja konstruktora tablicy Kotlin to:
Array(size: Int, init: (Int) -> T)
Który daje:
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Lub:
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
W tym przykładzie definicja pola była następująca:
private var skillsSummaryDetailLinesArray: Array<String>? = null
Mam nadzieję że to pomoże
możesz użyć też:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
na przykład.
typealias StringArray = Array<String>
;)