Java 的 String\[\] 的 Kotlin 等价物是什么?

新手上路,请多包涵

我看到 Kotlin 有 ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray ,相当于 Java 中的 byte[], short[], int[],char[], double[], float[]

现在我想知道,是否有任何 StringArray 相当于 Java 的 String[]

原文由 chancyWu 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 530
2 个回答

There’s no special case for String , because String is an ordinary referential type on JVM, in contrast with Java primitives ( int , double , …) -- 将它们存储在引用中 Array<T> 需要将 它们装箱成 IntegerDouble 之类的对象。 Kotlin 中 IntArray 等专用数组的目的是存储未装箱的原语,摆脱装箱和拆箱开销(与 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")

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

原文由 hotkey 发布,翻译遵循 CC BY-SA 3.0 许可协议

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

第一种方法:

 var empty = arrayOf<String>()

第二种方法:

 var empty = arrayOf("","","")

第三种方法:

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

第四种方法:

 var empty = arrayOfNulls<String>(3)

第五种方法:

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

第六种方法:

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

但是,如果您需要一个字符数组,请使用以下方法:

 var charArr = charArrayOf('a','b','c')

原文由 Andy Jazz 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题