老师:这两个函数怎么传值呀。。

来源:8-2 泛型约束

345丶

2020-01-09

fun callMax(a: T, b: T) where T : Comparable, T : () -> Unit {
a()
b()
}

fun <T, R> callMax1(a: T, b: T) where T : Comparable, T : () -> R, R : Number {

}

写回答

1回答

bennyhuo

2020-01-09

更新:

callMax(object: Comparable<Double>, ()->Double {
   override fun compareTo(other: Double): Int {
       return (this() - other).toInt()
   }

   override fun invoke(): Double {
       return 1.0
   }
}, object: Comparable<Double>, ()->Double {
   override fun compareTo(other: Double): Int {
       return (this() - other).toInt()
   }

   override fun invoke(): Double {
       return 2.0
   }
})


当然,这样写纯粹是为了语法举例,这个代码本身没有太大实际意义。

1
6
bennyhuo
回复
wdmzjgxd
具体写法见更新的答案。
2020-09-28
共6条回复

学会Kotlin 突破开发语言瓶颈

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

1760 学习 · 481 问题

查看课程