与 Java 的 String[] 等效的 Kotlin 是什么? [英] What's the Kotlin equivalent of Java's String[]?

查看:39
本文介绍了与 Java 的 String[] 等效的 Kotlin 是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我看到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 原语(intdouble, ...) -- 将它们存储在一个引用中 Array 需要 将它们装箱为 IntegerDouble 等对象.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆