Nie ma szczególny przypadek String, ponieważ Stringjest 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 IntegeriDouble . Celem wyspecjalizowanych tablic, takich jak IntArrayw 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:
Te typy istnieją, aby można było tworzyć tablice prymitywów, a nie typów pudełkowych. Ponieważ String nie jest prymitywem w Javie, możesz go po prostu użyć Array<String>w Kotlin jako odpowiednik Javy String[].
typealias StringArray = Array<String>
;)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 odniesieniuArray<T>
wymaga boks je do obiektów, jakInteger
iDouble
. Celem wyspecjalizowanych tablic, takich jakIntArray
w Kotlinie, jest przechowywanie nieopakowanych prymitywów, pozbycie się pudełkowania i narzutu rozpakowywania (takie same jak w Javieint[]
zamiastInteger[]
).Możesz użyć
Array<String>
(iArray<String?>
dla wartości null), co jest równoważne zString[]
w Javie:Zobacz także: Tablice w odwołaniu do języka
źródło
użyj arrayOf , arrayOfNulls , emptyArray
źródło
Aby stworzyć pusty
Array of Strings
w Kotlinie, powinieneś użyć jednego z sześciu następujących podejść:Pierwsze podejście:
Drugie podejście:
Trzecie podejście:
Czwarte podejście:
Piąte podejście:
Szóste podejście:
źródło
Te typy istnieją, aby można było tworzyć tablice prymitywów, a nie typów pudełkowych. Ponieważ String nie jest prymitywem w Javie, możesz go po prostu użyć
Array<String>
w Kotlin jako odpowiednik JavyString[]
.źródło
Dla
Strings
i innych typów, po prostu używaszArray<*>
. PowodemIntArray
i innymi jest zapobieganie autoboxingowi.Więc
int[]
odnosi się do tego,IntArray
gdzie sięInteger[]
odnosiArray<Int>
.źródło
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.
źródło
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:
Który daje:
Lub:
W tym przykładzie definicja pola była następująca:
Mam nadzieję że to pomoże
źródło
możesz użyć też:
na przykład.
źródło