发生的情况是"mystring".toCharArray()
返回了一个CharArray
,但是我需要一个Array<Char>
。
CharArray
存在?背后的想法是什么?CharArray
投射到Array<Char>
?我找到了一种制作方法Array<Char>
"mystring".toCharArray().map { it }.toTypedArray()
但是还有其他方法吗?
答案 0 :(得分:5)
对于问题的第一部分,请参考official language documentation的“基本类型”部分:
Kotlin还具有专门的类来表示原始类型的数组,而无需装箱:ByteArray,ShortArray,IntArray等。这些类与Array类没有继承关系,但是它们具有相同的方法和属性集。它们每个都具有对应的工厂功能:
对于问题的第二部分,看来您不需要map
。您可以这样做:
"mystring".toCharArray().toTypedArray()
答案 1 :(得分:0)
另一种方法是将CharSequence
映射到it
,这将为您提供一个List<Char>
,然后可以将其转换为所需的Array<Char>
:
"mystring".map { it }.toTypedArray()