返回空指针的Java方法?
所以我有一个方法,当用户运行一个命令时会被检查,我得到一个糟糕的错误,它返回一个空指针
这是我的方法
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;
}
# 1 楼答案
一个
NullPointerException
意味着你正在某个地方去引用一个空变量。堆栈跟踪将准确地告诉您是哪一行导致了问题,并由此推断出哪个变量设置为null从你的代码中,只有几个嫌疑犯:
m
、m.referralSessions
、check
和sender
。检查它们是否都已正确初始化,并使用异常中的信息帮助跟踪问题# 2 楼答案
s
可能为空你能调试一下
s
的值吗# 3 楼答案
方法在实践中不会返回NullPointerException;相反,他们会扔掉它们。但是,方法可以返回
null
然而,布尔方法不能返回null,因为原语不能为null。这里的NullPointerException可能是
sender
或check
在调用它们相应的方法时为null的结果