Java的String []的Kotlin等效项是什么? [英] What's the Kotlin equivalent of Java's String[]?
问题描述
我看到Kotlin具有ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,与Java中的byte[], short[], int[],char[], 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<T>
需要 IntArray
是存储非装箱的原语,从而消除了装箱和拆箱的开销(与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<String>
(对于可为空值使用Array<String?>
),这与Java中的String[]
等效:
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屋!