我想在Kotlin中实现二叉搜索树。
class BinarySearchTree<out T>
object Nil : BinarySearchTree<Nothing>
val a: BinarySearchTree<Int> = Nil // works fine
但是,要将类型K
的元素添加到树中,我需要类型K
来扩展T
并实现Comparable<T>
。
如果我使用以下代码,则会收到错误消息
fun <K> add(b : K) where K : T, K : Comparable<T> {}
错误:类型T被声明为“出”,但在类型T中处于“入”位置。
如何解决此方法或类的接口以解决此问题?