我知道Comparable是一個接口,但我看到一些代碼,如ArrayList<Comparable>
,public Comparable f()
,public void f(Comparable a)
。 看起來像Comparable是一個類。以上代碼如何實現?在java中可比較的是什麼?
import java.util.*;
public class MinHeap
{
public MinHeap()
{
elements = new ArrayList<Comparable>();
elements.add(null);
}
....
}
public class BinarySearchTree
{
...
public void add(Comparable obj)
{
Node newNode = new Node();
newNode.data = obj;
newNode.left = null;
newNode.right = null;
if (root == null) root = newNode;
else root.addNode(newNode);
}
...
}
'看起來像Comparable是一種數據類型'咦? – SLaks
我想看看這些代碼。以這種方式使用「Comparable」極爲罕見。 – ZhongYu
如果你在代碼中看到這樣的東西,那麼它可能不是很好的代碼,或者很老,因爲'Comparable'是一個* generic *類型,所以所有這些聲明都應該提到它的基類型。 –
RealSkeptic