发生NullPointerException并且我不知道原因。
import java.util.*;
public class One {
//first class with me handling stacks
Stack<String> s = new Stack<String>();
String[] stacks = null;;
public One(){
s.push("one");
s.push("two");
s.push("three");
s.push("four");
s.push("five");
s.push("six");
add();
}
public void add(){
for (int i=0;i<s.capacity();i++){
String temp = (String) s.pop(); //this is the part that gives me a NullPointerException
System.out.println(temp);
}
}
public static void main(String[] args){
One obj1 = new One();
}
}
答案 0 :(得分:2)
如果您想立即查看堆栈中有多少商品,请使用 size 代替 capacity 。
您可以像这样弹出堆栈中的所有项目:
while(!s.isEmpty()) {
System.out.println(s.pop());
}
答案 1 :(得分:0)
使用尺寸而不是容量。
以下是您需要修改的部分
public void add(){
for (int i=0;i<s.size();i++){
String temp = (String) s.pop(); //here
System.out.println(temp);
}
}
另外,我认为你不需要那里演员 -
String temp = s.pop(); //should do