什么';Kotlin 1.4中sumOf()和sumBy()的区别是什么?
Kotlin 1.4中新的什么';Kotlin 1.4中sumOf()和sumBy()的区别是什么?,kotlin,collections,Kotlin,Collections,Kotlin 1.4中新的sumOf()函数与sumBy()或sumByDouble()函数有何不同?如下所述: sumOf允许您以相同的方式处理不同类型的总和。 它产生Int,Long类型的总和, Double。。。[取决于给定lambda的返回类型] TLDR:没有区别,最终sumBy/sumByDouble可能会被弃用,取而代之的是单一的sumOf sumOf操作对选择器函数返回的不同数字类型具有重载。以前使用旧的类型推断工具是不可能的,所以为了处理不同的数字类型,它需要具有不同名称的函数
sumOf()
函数与sumBy()
或sumByDouble()
函数有何不同?如下所述:
sumOf
允许您以相同的方式处理不同类型的总和。
它产生Int
,Long
类型的总和,
Double
。。。[取决于给定lambda的返回类型]
TLDR:没有区别,最终
sumBy
/sumByDouble
可能会被弃用,取而代之的是单一的sumOf
sumOf
操作对选择器函数返回的不同数字类型具有重载。以前使用旧的类型推断工具是不可能的,所以为了处理不同的数字类型,它需要具有不同名称的函数:sumBy
求整数和,sumByDouble
求双精度和,等等
当新的推理最终通过选择器lambda return type的重载解析得到实验支持时,我们决定不重载现有的sumBy
函数,而是引入一个新的操作sumOf
。这样一来,它破坏某些东西的可能性更小,并且在命名时与新操作list.minOf/maxOf{selector}
更加一致