有没有办法检查我的集合是否只有一个元素?
if (myCollection.size == 1){
}
Run Code Online (Sandbox Code Playgroud)
就像是
if (myCollection.isSingle()){
}
Run Code Online (Sandbox Code Playgroud)
UPD:我喜欢isSingle()提议的答案中的命名。
谢谢
Kotlin 已经为此提供了两种方法:
fun <T> Iterable<T>.single(): T
Run Code Online (Sandbox Code Playgroud)
返回单个元素,如果集合为空或有多个元素,则抛出异常。
fun <T> Iterable<T>.singleOrNull(): T?
Run Code Online (Sandbox Code Playgroud)
返回单个元素,如果集合为空或有多个元素,则返回 null。
使用第二个选项,您可以替换if为该let功能
listOf(1).singleOrNull()?.let { print(it) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2633 次 |
| 最近记录: |