2012-03-26 11 views
0

Javaで文字列型のスタックを実行していますが、私はどのようにしてpeekメソッドを知りたいのですか。これは私のPEEKが、int型のタイプである:Javaの文字列Peek()メソッド

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

と私は文字列のためにint型を変更した場合、それは私にNULLポインタ例外がスローされます。ありがとう。

+0

NPEはどこで入手できますか?それに加えて、関連する場所で型を 'String'に変更することは有効です。したがって、あなたが得ているエラーに関する詳細情報が必要です。 – Thomas

+0

'dato = nodo.getData();'または 'nodo = getCabeza();'の行から 'NullPointerException'をスローしますか? – RonK

+0

すべてのコードを表示する – turbanoff

答えて

1

それはラインダト= nodo.getData(からそれをスロー)nullを返すnodo.getData()その場合

Stringの場合、nullを持つことができるため、例外はスローされませんが、intタイプはnullを持つことはできません。

0

getCabeza()メソッドはnullを返します。そして、NULLチェックなしで、あなたはnodo.getData()をやっています。その時点でNPE例外がスローされます。これはStringの場合に発生しますが、int型のプリミティブ型の場合は、nullを持つことはできません。デフォルトではintは常に0です。

0

standart java.util.Stackを使用するとどうなりますか?すでにpeek()メソッドが実装されており、自転車を再度作成する必要はありません。

それは次のようになります。まだそれに「こんにちは」の要素を持っている。このような状況のスタックで

Stack<String> stack = new Stack<String>(); 
    stack.push("hello"); 
    System.out.println(stack.peek()); // result = hello 

関連する問題