我是新來的Java中的泛型,我真的需要幫助這個代碼 它不編譯我不知道爲什麼!
Stack類是:爲什麼不是這個java代碼工作?!通用堆棧
public class GenericStack<Item>{
public class Stack {
private Node first=null;
private class Node {
Item item;
Node next;
}
public boolean IsEmpty()
{
return first==null;
}
public void push (Item item)
{
Node oldfirst = first;
first = new Node();
first.item = item;
first.next = oldfirst;
}
public Item pop()
{
Item item=first.item;
first=first.next;
return item;
}
}
}
,這裏是主要的
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
GenericStack<Integer> ob = new GenericStack<Integer>();
ob.push(5);
obpush(10);
ob.push(15);
while (!ob.IsEmpty())
{
int x=ob.pop();
StdOut.print(x);
}
}
}
現在的錯誤是:
The method push(int) isn't defined for the type GenericStack<Integer>
哪裏我做錯?任何人都可以解釋,請給我
預先感謝您
'GenericStack'沒有'push'方法,只有嵌套的類'Stack'有它。 – toniedzwiedz 2013-02-24 17:07:56
因爲沒有接受int參數的方法,例如push(int)。 – 2013-02-24 17:09:10
我想你正在考慮[Autoboxing](http://docs.oracle.com/javase/1.5.0/docs/guide/language/autoboxing.html) – 2013-02-24 17:09:55