java中Stack的String Peek()方法

时间:2012-03-26 08:03:42

标签: java stack peek

我正在使用Java进行字符串类型堆栈,我想知道如何使用peek方法。这是我的窥视但是int类型:

public int Peek()
{
   NodoOperaciones nodo;
   int dato;
   nodo = getCabeza();
   dato = nodo.getData();
   return dato;
}

如果我为String更改了int,它会抛出一个空指针异常。感谢。

3 个答案:

答案 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”。