在kotlin中,如何更改为数组<;CharSequence>;从数组<;字符串>;

在kotlin中,如何更改为数组<;CharSequence>;从数组<;字符串>;,kotlin,charsequence,Kotlin,Charsequence,从一个库模块返回一些数组,如下所示: private val BASIC_ESCAPE_RULE = arrayOf(arrayOf("\"", "&quot;"), // " arrayOf("&", "&amp;"), arrayOf("<", "&lt;"), arrayOf(">", "&gt;")) fun getBasicEscapeRule(): Array<Arra

从一个库模块返回一些
数组
,如下所示:

private val BASIC_ESCAPE_RULE = arrayOf(arrayOf("\"", "&quot;"), // " 
        arrayOf("&", "&amp;"), 
        arrayOf("<", "&lt;"), 
        arrayOf(">", "&gt;"))


fun getBasicEscapeRule(): Array<Array<String>> {
    return BASIC_ESCAPE_RULE.clone()
}
在第二个库中,需要使用CharSequence进行字符操作


如何将数组转换为数组?

要将
数组
转换为
数组
,可以使用以下代码:

val src: Array<Array<String>> = TODO()

val result: Array<Array<CharSequence>> = 
    src.map { array -> array.map { s -> s as CharSequence }.toTypedArray() }.toTypedArray()
val src:Array=TODO()
val结果:数组=
src.map{array->array.map{s->s as CharSequence}.toTypedArray()}.toTypedArray()

实际上,您不需要将
作为CharSequence
,因为编译器应该自动为您推断类型,但最好将其保留一段时间clarity@user2340612,省略
作为CharSequence
会导致类型不匹配。似乎编译器无法从预期的类型推断正确的向上转换(
String
to
CharSequence
)。我的错是,我将
BASIC\u ESCAPE\u规则定义为
Array
,这就是它工作的原因
Type mismatch: inferred type is Array<Array<String>> but Array<out Array<CharSequence>> was expected
val src: Array<Array<String>> = TODO()

val result: Array<Array<CharSequence>> = 
    src.map { array -> array.map { s -> s as CharSequence }.toTypedArray() }.toTypedArray()