Kotlin の Java String[] に相当
Kotlin には、Java のプリミティブ データ型配列に相当する配列があります。 たとえば、次のとおりです。
ByteArray=byte[]ShortArray=short[]IntArray=int[]CharArray=char[]DoubleArray=double[]FloatArray=float[]
しかし、Kotlin には Java の String[] に対して同じものはありません。 したがって、Kotlin には StringArray[] のようなものはありません。
しかし、文字列データ型の空の配列を作成したい場合はどうすればよいでしょうか? Kotlin でそれを行うにはどうすればよいでしょうか。
この記事では、これらの質問に対する答えを学びます。 しかし、その前に、Kotlin に StringArray[] がない理由を理解しましょう。
Kotlin で StringArray[] がない理由
文字列は JVM のプリミティブ データ型ではないため、Kotlin には StringArray[] はありません。 対照的に、ByteArray[]、ShortArray、IntArray[] などの配列メソッドを持つ他の型はプリミティブです。
プリミティブ型は、オブジェクトとしてボックス化した後に格納されます。 IntArray[] などの特殊な Kotlin 配列は、これらのプリミティブ データ型をアンボックスして保持します。
ただし、文字列はプリミティブ型ではないため、特殊な配列は必要ありません。 したがって、Kotlin には StringArray[] はありません。
Java String[] は、Kotlin 文字列配列の作成に相当する
さまざまな方法を使用して、Kotlin で文字列配列を作成できます。 これらすべての方法は、Kotlin では Java の String[] と同等であると言えます。
Kotlin で空の文字列配列を作成するさまざまな方法を次に示します。
Kotlin で arrayOf<String> を使用して空の配列を作成する
fun main(args: Array<String>) {
var myStringArray = arrayOf<String>()
}
Kotlin で arrayOf を使用して空の配列を作成する
fun main(args: Array<String>) {
var myStringArray = arrayOf("", "", "")
}
Kotlin で Array<String?> を使用して空の配列を作成する
fun main(args: Array<String>) {
var myStringArray = Array<String?>(5) { null }
}
Kotlin で Array<String> を使用して空の配列を作成する
fun main(args: Array<String>) {
var myStringArray = Array<String>(5) { "it = $it" }
}
Kotlin で arrayOfNulls<String> を使用して空の配列を作成する
fun main(args: Array<String>) {
var myStringArray = arrayOfNulls<String>(5)
}
空の配列に加えて、同じ構文を使用して初期化された配列を作成することもできます。 初期化された配列の作成中に機能しない唯一のメソッドは arrayOfNulls<String> です。
Kotlin で arrayOf<String> を使用して空の配列を作成する
arrayOf<String> を使用して初期化された配列を作成する例を次に示します。
fun main(args: Array<String>) {
var myStringArray = arrayOf<String>("Hello", "Welcome", "to", "Kotlin", "Tutorials")
myStringArray.forEach {
println(it)
}
}
出力:

同様に、arrayOf、Array<String?>、および Array<String> を使用して、初期化された Kotlin 文字列配列を作成できます。
Kailash Vaviya is a freelance writer who started writing in 2019 and has never stopped since then as he fell in love with it. He has a soft corner for technology and likes to read, learn, and write about it. His content is focused on providing information to help build a brand presence and gain engagement.
LinkedIn