gpt4 book ai didi

java - 在Java中,谁能解释为什么这个对象为空?

转载 作者:行者123 更新时间:2023-12-01 06:46:22 25 4
gpt4 key购买 nike

class Monitor {
TheManager manager;
Map<String, Subject> subjectMap;
public Monitor() {
TheManager manager = new TheManager();
Map<String, Subject> subjectMap = new HashMap<String, Subject>();
}

public void addObject(String objName, Object obj) {
if(objName == null) System.out.println("name null");
if(obj == null) System.out.println("obj null");
if(manager == null) System.out.println("manager null");
manager.addObject(objName, obj);
}
}

我收到空指针异常,因为 manager 为空。我在代码中的其他地方实例化了一个 Monitor 对象。当我尝试使用“addObject”方法时,它在打印“manager null”之前给了我 NPE(因为显然是这样)。

我觉得我在这里错过了一些非常基本的东西......有人可以帮忙吗?

最佳答案

你的构造函数包含

TheManager manager = new TheManager();

而不是

this.manager = new TheManager();

subjectMap 的游戏相同。

关于java - 在Java中,谁能解释为什么这个对象为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11621690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com