Mah*_*zad 15 collections kotlin
sumOf()Kotlin 1.4 中的新函数与sumBy()或sumByDouble()函数有何不同?
Ily*_*lya 23
TLDR:没有区别,最终sumBy/sumByDouble可以被弃用,取而代之的是单个sumOf.
sumOf操作具有从选择器函数返回的不同数字类型的重载。这在以前使用旧的类型推断工具是不可能的,因此为了处理不同的数字类型,需要具有不同名称的函数:sumBy对整数求和,sumByDouble对双精度求和等。
当新的推理最终通过选择器 lambda 返回类型的重载解析的实验支持到来时,我们决定不重载现有sumBy函数,而是引入新的操作sumOf。这样,它破坏某些东西的机会更少,并且在命名与新操作方面更加一致list.minOf/maxOf { selector }。
正如Kotlin 1.4 变更日志所述:
...
sumOf让您以相同的方式处理不同类型的总和。它产生类型Int,Long,Double, ... [取决于给定 lambda 的返回类型] 的总和。
| 归档时间: |
|
| 查看次数: |
1822 次 |
| 最近记录: |