有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

返回空指针的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;
        }

共 (3) 个答案

  1. # 1 楼答案

    一个NullPointerException意味着你正在某个地方去引用一个空变量。堆栈跟踪将准确地告诉您是哪一行导致了问题,并由此推断出哪个变量设置为null

    从你的代码中,只有几个嫌疑犯:mm.referralSessionschecksender。检查它们是否都已正确初始化,并使用异常中的信息帮助跟踪问题

  2. # 2 楼答案

    s可能为空

    你能调试一下s的值吗

  3. # 3 楼答案

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

    然而,布尔方法不能返回null,因为原语不能为null。这里的NullPointerException可能是sendercheck在调用它们相应的方法时为null的结果