0
我一直在爲泛型類定義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()
來檢查它們是否相等。但是,我堅持其餘的比較。
忘掉泛型---當代碼到達那裏時,它們就消失了。您必須檢查對象的實際運行時類型並根據該對象作出任何決定。 –
爲什麼你需要實現'compareTo'方法?如果'K'的實例具有可比性,則可以只執行'k.compareTo(anotherK)'。 –
@PaulBellora是否因爲'K'擴展了代碼中的'Comparable'?這個怎麼用? –