Saya melihat bahwa Kotlin memiliki ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
, yang setara dengan byte[], short[], int[],char[], double[], float[]
di Jawa.
Sekarang saya bertanya-tanya, apakah ada yang StringArray
setara dengan Java String[]
?
typealias StringArray = Array<String>
;)Jawaban:
Tidak ada kasus khusus untuk
String
, karenaString
merupakan jenis referensial biasa pada JVM, berbeda dengan primitif Java (int
,double
, ...) - menyimpannya dalam referensiArray<T>
membutuhkan tinju mereka ke dalam objek sepertiInteger
danDouble
. Tujuan dari array khusus sepertiIntArray
di Kotlin adalah untuk menyimpan primitif non-kotak, menyingkirkan tinju dan membuka kotak overhead (sama seperti Java,int[]
bukanInteger[]
).Anda dapat menggunakan
Array<String>
(danArray<String?>
untuk nullables), yang setara denganString[]
di Java:Lihat juga: Array dalam referensi bahasa
sumber
gunakan arrayOf , arrayOfNulls , blankArray
sumber
Untuk membuat yang kosong
Array of Strings
di Kotlin Anda harus menggunakan salah satu dari enam pendekatan berikut:Pendekatan pertama:
Pendekatan kedua:
Pendekatan ketiga:
Pendekatan keempat:
Pendekatan kelima:
Pendekatan keenam:
sumber
Jenis-jenis itu ada sehingga Anda dapat membuat array dari primitif, dan bukan tipe kotak. Karena String bukan primitif di Jawa, Anda bisa menggunakannya
Array<String>
di Kotlin sebagai setara dengan JavaString[]
.sumber
Untuk
Strings
dan jenis lainnya, Anda hanya menggunakanArray<*>
. AlasannyaIntArray
dan yang lainnya ada adalah untuk mencegah autoboxing.Jadi
int[]
berkaitan dengan diIntArray
manaInteger[]
berhubungan denganArray<Int>
.sumber
Beberapa cara umum untuk membuat array String adalah
Ini akan membuat array 5 string dengan nilai awal menjadi string kosong.
<String?>
(5)Ini akan membuat array ukuran 5 dengan nilai awal menjadi nol. Anda dapat menggunakan data string untuk memodifikasi array.
Ketika Anda sudah tahu isi array maka Anda dapat menginisialisasi array secara langsung.
Ada cara mudah untuk membuat array string multi dimensi juga.
var matrix = Array (5) {Array (6) {""}}
Ini adalah bagaimana Anda dapat membuat matriks dengan 5 baris dan 6 kolom dengan nilai awal dari string kosong.
sumber
Contoh ini berfungsi sempurna di Android
Di kotlin Anda dapat menggunakan ekspresi lambda untuk ini. Definisi konstruktor Array Kotlin adalah:
Yang mengevaluasi ke:
Atau:
Dalam contoh ini definisi bidang adalah:
Semoga ini membantu
sumber
Anda dapat menggunakan juga:
sebagai contoh.
sumber