Yanıtlar:
İçin özel bir durum mevcut değil String
, çünkü String
aksine, JVM üzerinde sıradan bir referans türüdür Java ilkel ( int
, double
, ...) - referans saklayarak Array<T>
gerektirir gibi nesneler içine boks Integer
veDouble
. IntArray
Kotlin'deki gibi özel dizilerin amacı, kutulu olmayan ilkelleri depolamak, boks ve kutudan çıkarma yükünden kurtulmaktır ( int[]
bunun yerine Java ile aynıdır Integer[]
).
Java'da eşdeğer olan Array<String>
(ve Array<String?>
nullables için) kullanabilirsiniz String[]
:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
Ayrıca bakınız: Dil referansındaki diziler
Kullanım 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
Kotlin'de boş bir alan oluşturmak için aşağıdaki altı yaklaşımdan birini kullanmalısınız:İlk yaklaşım:
val empty = arrayOf<String>()
İkinci yaklaşım:
val empty = arrayOf("","","")
Üçüncü yaklaşım:
val empty = Array<String?>(3) { null }
Dördüncü yaklaşım:
val empty = arrayOfNulls<String>(3)
Beşinci yaklaşım:
val empty = Array<String>(3) { "it = $it" }
Altıncı yaklaşım:
val empty = Array<String>(0, { _ -> "" })
String dizisi oluşturmanın yaygın yollarından bazıları
Bu, başlangıç değerleri boş dize olacak şekilde 5 dize dizisi oluşturur.
<String?>
(5)Bu, başlangıç değerleri null olacak şekilde 5 büyüklüğünde bir dizi oluşturur. Diziyi değiştirmek için Dize verilerini kullanabilirsiniz.
Dizinin içeriğini zaten bildiğinizde diziyi doğrudan başlatabilirsiniz.
Çok boyutlu bir dizi dizi oluşturmanın da kolay bir yolu vardır .
var matrix = Dizi (5) {Dizi (6) {""}}
Bu şekilde, 5 satır ve 6 sütunlu, başlangıçtaki boş dizenin değerlerini içeren bir matris oluşturabilirsiniz.
Bu örnek Android'de mükemmel çalışır
Kotlin'de bunun için bir lambda ifadesi kullanabilirsiniz. Kotlin Array Oluşturucu tanımı:
Array(size: Int, init: (Int) -> T)
Aşağıdakileri değerlendirir:
skillsSummaryDetailLinesArray = Array(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Veya:
skillsSummaryDetailLinesArray = Array<String>(linesLen) {
i: Int -> skillsSummaryDetailLines!!.getString(i)
}
Bu örnekte alan tanımı şöyleydi:
private var skillsSummaryDetailLinesArray: Array<String>? = null
Bu yardımcı olur umarım
siz de kullanabilirsiniz:
val frases = arrayOf("texto01","texto02 ","anotherText","and ")
Örneğin.
typealias StringArray = Array<String>
;)