我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,相当于byte[], short[], int[],char[], Java 中的 double[]、float[]
。
现在我想知道,是否有任何 StringArray
等效于 Java 的 String[]
?
最佳答案
String
没有特殊情况, 因为 String
是 JVM 上的普通引用类型,与 Java primitives ( int
, double
, ...) 不同。 -- 将它们存储在引用中 Array<T>
需要 boxing them into objects like Integer
and Double
. IntArray
等专用数组的用途在 Kotlin 中是存储未装箱的原语,摆脱装箱和拆箱开销(与 Java 相同 int[]
而不是 Integer[]
)。
您可以使用 Array<String>
(和 Array<String?>
用于可空值),相当于 String[]
在 Java 中:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
另请参阅:Arrays in the language reference
https://stackoverflow.com/questions/44239869/