You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Kotlin中将ClosedRange<String>转换为List<String>?

将ClosedRange转换为List的方法

针对你给出的("a".."z")这类单个字符组成的ClosedRange<String>,可以通过以下方式转换为List<String>:

直接转换方案

利用String对应的Char范围生成列表,因为"a".."z"本质上对应字符a到z的连续范围:

val letters: ClosedRange<String> = ("a".."z")
val letterList = (letters.start.first()..letters.endInclusive.first())
    .map { it.toString() }
    .toList()

封装扩展函数(提升复用性)

如果需要多次处理这类转换,可以封装一个扩展函数,同时加入参数校验确保输入符合预期:

fun ClosedRange<String>.toSingleCharStringList(): List<String> {
    require(start.length == 1 && endInclusive.length == 1) {
        "该转换仅适用于单个字符组成的String范围"
    }
    return (start.first()..endInclusive.first()).map(Char::toString)
}

// 使用示例
val letters: ClosedRange<String> = ("a".."z")
val letterList = letters.toSingleCharStringList()

注意事项

如果你的ClosedRange<String>包含多字符边界(比如"aa".."zz"),上述方法不再适用——因为字符串的字典序范围无法直接枚举所有中间可能的字符串,这种场景需要根据具体需求实现自定义枚举逻辑。

内容的提问来源于stack exchange,提问作者pixel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:52:05