And*_*ndy 4 language-design kotlin
调用时,返回比值不存在有List.indexOf(...)什么优点?-1null
例如:
val list = listOf("a", "b", "c")
val index = list.indexOf("d")
print(index) // Prints -1
Run Code Online (Sandbox Code Playgroud)
如果用索引代替,结果不是更清晰吗null?如果它有一个可选的返回类型,那么它将与 elvis 运算符兼容:?以及执行诸如index?.let { ... }.
与没有比赛时返回-1相比,有哪些优势?null
只是猜测,但我可以想到两个原因:
第一个原因是为了兼容Java及其List.indexOf
正如文档所述:
返回:此列表中指定元素第一次出现的索引,如果此列表不包含该元素,则返回 -1
第二个原因是与kotlins binarySearch具有相同的数据类型。
如果该元素包含在指定范围内的列表中,则返回该元素的索引;否则,反转插入点(-插入点 - 1)。插入点定义为应插入元素的索引,以便列表(或列表的指定子范围)仍然保持排序。
负值实际上包含附加信息,如果不存在则将元素插入到何处。但由于普通indexOf方法适用于未排序的集合,因此您无法推断插入位置。
| 归档时间: |
|
| 查看次数: |
1426 次 |
| 最近记录: |