我想寫一個PriorityQueue,它必須泛化爲Comparable。下面是構造函數:創建通用數組時創建Java類異常
public class DavidiArrayPriorityQueue <E extends Comparable<E>> implements PriorityQueue<E> {
private E data[];
private int numElements;
//creates an empty priority queue with 10 spaces by default
public DavidiArrayPriorityQueue(){
data= (E[]) new Object[20];
numElements=0;
}
當我與
DavidiArrayPriorityQueue<Integer> test=new DavidiArrayPriorityQueue<Integer>();
它拋出[Ljava.lang.Object初始化;不能轉換爲[Ljava.lang.Comparable;
確實; 「對象」不是「可比較的」。 –
也許你應該使用List而不是數組? – Happy
@OliCharlesworth:或者,更重要的是:'Object []'不是'Comparable []'。 – ruakh