与 Java 的 String[] 等效的 Kotlin 是什么? [英] What's the Kotlin equivalent of Java's String[]?
问题描述
我看到Kotlin有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,相当于byte[], short[], int[],char[],Java中的double[], float[]
.
I see that Kotlin has ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
, which are equivalent to byte[], short[], int[],char[], double[], float[]
in Java.
现在我想知道,是否有任何与 Java 的 String[]
等效的 StringArray
?
Now I'm wondering, is there any StringArray
equivalent to Java's String[]
?
推荐答案
String
没有特殊情况,因为 String
是 JVM 上的普通引用类型,相反使用 Java 原语(int
、double
, ...) -- 将它们存储在一个引用中 Array
需要 将它们装箱为 Integer
和 Double
等对象.IntArray
<等专用数组的用途Kotlin 中的/a> 用于存储非装箱原语,摆脱装箱和拆箱开销(与 Java int[]
相同,而不是 Integer[]
).
There's no special case for String
, because String
is an ordinary referential type on JVM, in contrast with Java primitives (int
, double
, ...) -- storing them in a reference Array<T>
requires boxing them into objects like Integer
and Double
. The purpose of specialized arrays like IntArray
in Kotlin is to store non-boxed primitives, getting rid of boxing and unboxing overhead (the same as Java int[]
instead of Integer[]
).
您可以使用 Array
(和 Array
用于可空值),它等价于 String[]
在 Java 中:
You can use Array<String>
(and Array<String?>
for nullables), which is equivalent to String[]
in Java:
val stringsOrNulls = arrayOfNulls<String>(10) // returns Array<String?>
val someStrings = Array<String>(5) { "it = $it" }
val otherStrings = arrayOf("a", "b", "c")
另请参阅:语言参考中的数组
See also: Arrays in the language reference
这篇关于与 Java 的 String[] 等效的 Kotlin 是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!