我看到 Kotlin 有 ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,相当于 Java 中的 byte[], short[], int[],char[], double[], float[]
。
现在我想知道,是否有任何 StringArray
相当于 Java 的 String[]
?
原文由 chancyWu 发布,翻译遵循 CC BY-SA 4.0 许可协议
我看到 Kotlin 有 ByteArray, ShortArray, IntArray, CharArray, DoubleArray, FloatArray
,相当于 Java 中的 byte[], short[], int[],char[], double[], float[]
。
现在我想知道,是否有任何 StringArray
相当于 Java 的 String[]
?
原文由 chancyWu 发布,翻译遵循 CC BY-SA 4.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 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
1 回答2.1k 阅读✓ 已解决
There’s no special case for
String
, becauseString
is an ordinary referential type on JVM, in contrast with Java primitives (int
,double
, …) -- 将它们存储在引用中Array<T>
需要将 它们装箱成Integer
和Double
之类的对象。 Kotlin 中IntArray
等专用数组的目的是存储未装箱的原语,摆脱装箱和拆箱开销(与 Javaint[]
而不是Integer[]
)。您可以使用
Array<String>
(和Array<String?>
用于可空值),这相当于String[]
在 Java 中:另请参阅: 语言参考中的 数组