Kotlin 1.4中的新sumOf()
函数与sumBy()
或sumByDouble()
函数有何不同?
Kotlin 1.4中的新sumOf()
函数与sumBy()
或sumByDouble()
函数有何不同?
sumBy
/sumByDouble
可以被单独的sumOf
替代。
sumOf
操作对于从选择器函数返回的不同数值类型具有重载。在旧的类型推断工具无法做到这一点时,需要使用不同名称的函数来处理不同的数值类型:sumBy
用于int求和,sumByDouble
用于double求和等。sumBy
函数,而是引入一个新的操作sumOf
。 这样它的破坏可能性更小,并且与新操作list.minOf/maxOf { selector }
的命名更加一致。sumOf
可以让你以相同的方式处理不同类型的求和。它可以产生类型为 Int
、Long
和 Double
的求和结果,具体取决于给定 lambda 表达式的返回类型。请参考:Kotlin 1.4 更新日志。
sumBy()
已被弃用,取而代之的是sumOf()
,正如Ilya所预测的那样。 - Tonnie