Swift中使用sorted()后如何正确调用joined()函数?
问题解决:Swift中字符串排序后调用joined报错的处理
错误原因
"AnyCode".sorted()返回的是[Character]类型的数组,而joined(separator:)方法仅支持元素为StringProtocol类型的序列,因此直接调用会触发"No exact matches in call to instance method 'joined'"错误。
正确实现方式
有两种简洁的解决方法:
方法一:将Character转为String后拼接
把排序后的每个Character元素转换为String,再调用joined():
let sortedChars = "AnyCode".sorted().map { String($0) } print(sortedChars.joined(separator: "")) // 输出:ACdenoy
方法二:直接用String初始化器转换
利用String的初始化方法,直接将排序后的[Character]数组转为字符串:
let sortedString = String("AnyCode".sorted()) print(sortedString) // 输出:ACdenoy
两种方法都能得到你期望的"ACdenoy"结果,其中方法二更简洁高效。
内容的提问来源于stack exchange,提问作者Sumit Chandora
相关产品推荐
相关产品推荐

