为了制作计算数学表达式的程序,我制作了一个使用java泛型的堆栈。myArraylist.size()找不到符号错误Java
下面是叠层的代码:
import java.util.ArrayList;
public class Stack<T>
{
private ArrayList<T> stack;
public Stack()
{
stack = new ArrayList<T>();
}
public void push(T item)
{
stack.add(item);
System.out.println(item);
}
public T pop()
{
T last;
last = stack.remove((stack.size() - 1));
System.out.println(last);
return(last);
}
public boolean isEmpty()
{
return stack.isEmpty();
}
}
但是当我尝试这样做:
Stack<Integer> number = new Stack<Integer>();
在另一个类中,其计算表达式
,然后用它做如下:
if(number.size()>=2)
{
//calculation
}
因为我有一个ArrayList,我得到的错误:canot在number.size()中查找符号,你能帮助我吗?
一个堆栈不是一个数组列表,你的数字变量的类型是stack,而不是List。 – Stultuske
Stack不包含任何成员'size'。我不明白你的困惑来自哪里。 –
我没有在堆栈中实现size()方法,这是问题所在。 – Bill