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表示您在某处取消引用空变量。堆栈跟踪将准确告诉您是哪一行导致了问题,并且您可以从中推断出哪个变量设置为空。

从您的代码中,只有几个嫌疑人:mm.referralSessions和. 检查它们是否都已正确初始化,并使用异常中的信息来帮助追踪问题。checksender

于 2012-11-25T05:45:42.267 回答
0

在实践中,方法不会返回 NullPointerExceptions;相反,他们扔掉它们。但是,方法可以返回null

但是,布尔方法不能返回 null,因为原语不能为 null。此处的 NullPointerException 可能是您在它们上调用相应方法时的结果sender 或为 null。check

于 2012-11-25T05:46:13.963 回答
0

s可能为空。

您可以进行调试以查看s.

于 2012-11-25T05:48:47.197 回答