2014-03-26 84 views
4

嗨堆棧溢出社區^ _^類型參數不在類型變量的範圍內

基本上,我正在與堆棧和從中綴轉換爲Postfix方程。 這是顯示在屏幕上,當我試圖編譯Stack類的錯誤消息:

Stack.java:5: error: type argument T#1 is not within bounds of type-variable T#2 
    private LinkedList<T> list; 
        ^
    where T#1,T#2 are type-variables: 
    T#1 extends Object declared in class Stack 
    T#2 extends Comparable<T#2> declared in class LinkedList 

我有真正的麻煩試圖找出這個錯誤,但遺憾的是我沒有什麼可能是一個線索問題。如果我知道更好一點,我可以提供更多信息。

在此先感謝您的任何意見和幫助!

更新:這是我的課...

package ListPkg; 

public class Stack<T> // implements Comparable<Stack>> 
{ 
    private LinkedList<T> list; 

    public Stack() 
    { 
     this("list"); 
    } 
    public Stack(String name) 
    { 
     list = new LinkedList(name); 
    } 
    public void push(T item) 
    { 
     list.insertAtFront(item); 
    } 
    public T pop() 
    { 
     list.removeFromFront(); 
    } 
    public int lenghtIs() 
    { 
     return list.lengthIs(); 
    } 
    public T peek() 
    { 
     return list.returnFirstNode(); 
    } 
    public void print() 
    { 
     list.print(); 
    } 
    public boolean isEmpty() 
    { 
     return list.isEmpty(); 
    } 
} 
+2

郵政類。 –

回答

3

看來你有一個類LinkedList聲明

class LinkedList<T extends Comparable<T>> {...} 

但你試圖在聲明爲類Stack使用它

class Stack<T> { 
    private LinkedList<T> list; 
    ... 
} 

聲明的類型變量TStackLinkedList中的類型變量T完全無關。而且,它們不兼容。 LinkedList需要一個類型爲Comparable的子類型,但Stack正在給它一個沒有邊界的類型參數。編譯器不能允許這樣做。

添加適當的範圍,以你的Stack類的類型參數

class Stack<T extends Comparable<T>> {