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