Kotlin 相当于 Java 的 String[] 是什么?

2022-08-31 05:45:14

我看到 Kotlin 有 ,这相当于在 Java 中。ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArraybyte[], short[], int[],char[], double[], float[]

现在我想知道,有没有与Java相当的?StringArrayString[]


答案 1

没有特殊情况,因为在 JVM 上是一个普通的引用类型,与 Java 原语(intdouble、...) 相反 ,将它们存储在引用 Array<T> 需要将它们装箱到 IntegerDouble 等对象中。像 Kotlin 中的 IntArray 这样的专用数组的目的是存储非盒装基元,摆脱装箱和拆箱开销(与 Java 相同,而不是 )。StringStringint[]Integer[]

您可以使用(和对于空值),这相当于在Java中:Array<String>Array<String?>String[]

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

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


答案 2

要在 Kotlin 中创建空的字符串数组,您应该使用以下六种方法之一:

第一种方法:

val empty = arrayOf<String>()

第二种方法:

val empty = arrayOf("","","")

第三种方法:

val empty = Array<String?>(3) { null }

第四种方法:

val empty = arrayOfNulls<String>(3)

第五种方法:

val empty = Array<String>(3) { "it = $it" }

第六种方法:

val empty = Array<String>(0, { _ -> "" })

推荐