我正在使用Java进行字符串类型堆栈,我想知道如何使用peek方法。这是我的窥视但是int类型:
public int Peek()
{
NodoOperaciones nodo;
int dato;
nodo = getCabeza();
dato = nodo.getData();
return dato;
}
如果我为String更改了int,它会抛出一个空指针异常。感谢。
答案 0 :(得分:1)
它从dato = nodo.getData()
行抛出它
在这种情况下,nodo.getData()
返回null。对于String
,您可以为null,因此它不会抛出异常,而是int
类型,您不能为空。
答案 1 :(得分:0)
getCabeza()方法返回null。没有NULL检查,你正在做nodo.getData()。那时NPE异常抛出。这将在String情况下发生,但是当你有int基本类型时,你不能为它提供null,默认情况下int总是为0。
答案 2 :(得分:0)
使用标准java.util.Stack怎么样?它已经实现了peek()方法,并且不需要再次发明自行车。
看起来像这样:
Stack<String> stack = new Stack<String>();
stack.push("hello");
System.out.println(stack.peek()); // result = hello
在这种情况下,堆栈中仍然包含元素“hello”。