如何为通用对象实现compareTo()方法?

时间:2014-02-18 20:28:25

标签: java generics compareto

我坚持为泛型类定义compareTo方法。

我创建了一个通用类BinarySearchTree

public class BinarySearchTree<K extends Comparable<K>, V>{
    Node root;

    private class Node{
        K key;
        V value;
        Node left=null;
        Node right=null;

        public Node(K k, V v){ key=k; value=v; }
    }
    ...

   private int compareTo(K k){

   }
}

compareTo方法是比较泛型类型K的两个实例。如果它们相等,则返回zero。如果this小于k,请返回-1,否则返回1

我使用equals()检查它们是否相等。但是,我仍然坚持剩下的比较。

1 个答案:

答案 0 :(得分:1)

您不应该将Node<K>K进行比较。如果您需要从外部进行比较,为什么不公开K一个吸气剂?