0

したがって、ユーザーがコマンドを実行したときにチェックされるメソッドがありますが、NullPointer を返すというこの惨めなエラーが発生します...

これが私の方法です。

   public boolean openReferal(String name) {
    for(String s : m.refferalSessions) {
        if(s.equalsIgnoreCase(name)) {
            return true;
        }
    }
    return false;
}

そして、私がそれを実装している方法は次のとおりです...

   if(check.openReferal(sender.getName() + ":" + args[0])) {
            sender.sendMessage(openReferal);
            return true;
        }
4

3 に答える 3

1

ANullPointerExceptionは、null 変数をどこかで逆参照していることを意味します。スタック トレースは、どの行が問題を引き起こしているかを正確に示し、そこからどの変数が null に設定されているかを推測できます。

あなたのコードから、疑わしいのはmm.referralSessionscheckおよびだけsenderです。それらがすべて適切に初期化されていることを確認し、例外の情報を使用して問題を追跡します。

于 2012-11-25T05:45:42.267 に答える
0

実際には、メソッドは NullPointerExceptions を返しません。むしろ、彼らはそれらを投げます。ただし、メソッドは を返すことができnullます。

ただし、プリミティブは null にできないため、boolean メソッドはnull を返すことができません。ここでの NullPointerException は、対応するメソッドを呼び出したときに nullの結果であるsender か、null である可能性があります。check

于 2012-11-25T05:46:13.963 に答える
0

snull になる可能性があります。

の値を確認するためにデバッグを実行できますかs

于 2012-11-25T05:48:47.197 に答える