Відповіді:
Там немає особливого випадку String
, тому що String
це звичайний посилальної типу на JVM, на відміну від Java примітивів ( int
, double
, ...) - зберігати їх на засланні Array<T>
вимагає боксу в об'єкти , як Integer
іDouble
. Призначення спеціалізованих масивів, як IntArray
у Котліні, - зберігати примітки, які не містять ящиків, позбавляючись від боксу та розпакування (на зразок Java int[]
замість Java Integer[]
).
Ви можете використовувати Array<String>
(і Array<String?>
для нульових значень), що еквівалентно String[]
Java:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Дивіться також: Масиви у мовній довідці
використовувати 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
в Котліні, слід скористатися одним із наступних шести підходів:Перший підхід:
val empty = arrayOf<String>()
Другий підхід:
val empty = arrayOf("","","")
Третій підхід:
val empty = Array<String?>(3) { null }
Четвертий підхід:
val empty = arrayOfNulls<String>(3)
П'ятий підхід:
val empty = Array<String>(3) { "it = $it" }
Шостий підхід:
val empty = Array<String>(0, { _ -> "" })
Деякі з поширених способів створення масиву String є
Це створить масив з 5 рядків з початковими значеннями, які будуть порожнім рядком.
<String?>
(5)Це створить масив розміром 5 з початковими значеннями, які будуть нульовими. Ви можете використовувати дані String для зміни масиву.
Коли ви вже знаєте вміст масиву, ви можете ініціалізувати масив безпосередньо.
Існує простий спосіб для створення багатовимірного масиву рядків.
var matrix = масив (5) {масив (6) {""}}
Ось так можна створити матрицю з 5 рядків та 6 стовпців із початковими значеннями порожнього рядка.
Цей приклад відмінно працює в Android
У kotlin ви можете використовувати лямбда-вираз для цього. Визначення конструктора масиву Kotlin:
Array(size: Int, init: (Int) -> T)
Який оцінює:
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Або:
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
У цьому прикладі визначення поля було:
private var skillsSummaryDetailLinesArray: Array<String>? = null
Сподіваюся, це допомагає
Ви також можете використовувати:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
наприклад.
typealias StringArray = Array<String>
;)