我想知道如何将下面的ClosedRange<String>转换为List<String>:

 val letters: ClosedRange<String> = ("a".."z")

推荐答案

ClosedRange对中间的项目一无所知.它基本上是一个开始和结束项目.

这里的问题是你使用了字符串,你应该使用字符.关于字符串"a""z"之间存在什么字符串,没有有意义的答案.什么是:"hello"?是不是他们之间的事?但是如果我们讨论字符,那么很明显,我们知道'a''z'之间存在哪些字符,我们可以在它们上面叠加或创建一个列表:

val letters = ('a'..'z').toList()

请注意,此代码返回List<Char>,而不是List<String>.如果你需要字符串,我们可以很容易地从字符转换:

val letters = ('a'..'z').map { it.toString() }

我们不再需要toList()了,因为map隐式地从范围转换为列表.

Kotlin相关问答推荐

为什么";";.equals(1)在柯特林语中是有效的,但";";=1是无效的?

CompositionLocal 究竟如何以及何时隐式设置值?

为什么 Kotlin main 函数需要 @JVMStatic 注解?

按钮无法在 Android Studio 上打开新活动

在 Compose 中使用 Text() 时如何获取文本的大小?

如何在 jOOQ 中两次加入同一张表?

Kotlin SAM/功能接口抛出 AbstractMethodError

如何使用 Android CameraX 自动对焦

Kotlin 1.2.21 + SimpleXml 2.3.0 - consume List error (must mark set get method)

致命错误 LifecycleOwners 必须在 registerForActivityResult 开始之前调用 register

将 Completable 转换为 Single 的规范方法?

如何在 kotlin 中生成 json 对象?

如果 Maybe 完成,则从其他来源将 Maybe 转换为 Single

在Kotlin中传递并使用函数作为构造函数参数

kotlin RecyclerView分页

Kotlin中OnclickListener方法之间的差异

如何使用mockk库模拟android上下文

Kotlin flatMap - map

Kotlin - 如何获取注释属性值

如何在 Kotlin 中按字母顺序对字符串进行排序