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 次 |
最近记录: |