如何将CharArray / Array<Char>转换为String?

33

我有一个CharArray,其中包含类似以下字符:

val chars = arrayOf('A', 'B', 'C')
或者
val chars = "ABC".toCharArray()
我想从这里获取字符串"ABC",我该怎么做? chars.toString()不起作用;它的效果就像 chars 是一个普通的整数数组。
chars.toString()无法达到目的,它会将chars视为普通整型数组。

3个回答

62

你可以简单地使用Array#joinToString

val result: String = chars.joinToString("");

或者chars 转换为 CharArray

val result: String = String(chars.toCharArray());

或者使用charArrayOf声明一个原始的CharArray

val chars = charArrayOf('A', 'B', 'C');
val result: String = String(chars);

toCharArray Won't work if String contains emojis. "AB✅".toCharArray() will print: [A, B, ?, ?, ?, ?, ?, ?, ?, ?, ✅, ?, ?, ?, ?, ?, ?] - A. Amini

3

您还可以使用concatToString

val chars = "ABC".toCharArray()
val result = chars.concatToString()

2
此外,String(chars: CharArray) 构造函数可以作为“最初的回答”中所述的两种方式之一进行调用。
    val ctor: (CharArray) -> String = ::String
    val result = chars.let(ctor)

最初的回答
或者
    val result = chars.let { String(it) }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接