泛型入参不对的问题
来源:8-2 泛型约束

cheny丶
2023-10-22
fun main() {
maxOf(AAA(), AAA())
}
fun <T: Comparable> maxOf(a: T,b: T): T{
return if (a > b) a else b
}
class AAA: Comparable{
override operator fun compareTo(other: Double): Int {
return 0
}
}
编译器提示 maxOf(AAA(), AAA()) 的 AAA() 类型不对 需要的是 Comparable 传入的是 AAA
老师 我该怎么修改
写回答
3回答
-
bennyhuo
2023-10-23
max函数里面 T要求是Comparable<T>的子类,也就是说,AAA必须是Comparable<AAA>的子类才行。032023-10-23 -
bennyhuo
2023-10-23
override operator fun compareTo(other: Double): Int { return if (this > other) 1 else -1 }
other的类型应该是AAA吧012023-10-23 -
bennyhuo
2023-10-23
Comparable的泛型参数是啥?012023-10-23
相似问题