什么是Java的String 的Kotlin等价物?

我看到Kotlin具有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray ,相当于ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray中的byte[], short[], int[],char[], double[], float[]

现在我想知道,是否有任何相当于Java的String[] StringArray

String没有特殊情况,因为String是JVM上的普通引用类型,与Java基本类型( intdouble ,…)相比 – 将它们存储在引用Array<T>需要将它们装入像IntegerDouble 。 Kotlin中IntArray这样的专门数组的目的是存储非盒装原语,摆脱装箱和开箱开销(与Java int[]而不是Integer[] )。

您可以使用Array<String> (和Array<String?>作为可空),这相当于Java中的String[]

 val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?> val someStrings = Array<String>(5) { "it = $it" } val otherStrings = arrayOf("a", "b", "c") 

另请参阅: 语言参考中的数组

这些类型是在那里,所以你可以创建基元的数组,而不是盒装类型。 由于String不是Java中的原语,因此您可以在Kotlin中使用Array<String>作为Java String[]的等效项。

对于Strings和其他类型,您只需使用Array<*>IntArray和其他存在的原因是为了防止自动装箱。

所以int[]IntArray ,其中Integer[]Array<Int>

你可以使用arrayOf()函数:

 val literals = arrayOf("str1", "str2", "str3")