Kotlin中的功能二进制搜索树

时间:2019-05-10 09:41:57

标签: generics kotlin functional-programming

我想在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中处于“入”位置。

如何解决此方法或类的接口以解决此问题?

0 个答案:

没有答案