如何定义一个泛型函数,求和

来源:8-2 泛型约束

turboburst

2020-12-08

如题,我想定义一个泛型函数,用于求和,我试图用以下代码,但是会报错,请问应该怎么写

fun <U: Number> sumOf(vararg nums: U):U{
var sum:U = 0.0 as U
nums.forEach {
sum = sum + it
}
return sum

}

写回答

1回答

bennyhuo

2020-12-08

因为Numer不一定有plus函数,所以不能定定义这样的函数。

0
3
bennyhuo
回复
turboburst
实际上,如果 Kotlin 泛型约束支持指定函数约束,那么我们的泛型参数的上限就可以设定为有 plus 函数的类型,不过,它不支持。C# 是支持的,你可以去体验一下 C# 的泛型。
2020-12-09
共3条回复

学会Kotlin 突破开发语言瓶颈

如果有一门语言可以取代Java,那么它一定是Kotlin。

1760 学习 · 481 问题

查看课程