gpt4 book ai didi

java - 初始化空 HashMap

转载 作者:行者123 更新时间:2023-11-29 08:02:45 25 4
gpt4 key购买 nike

我写过很多 JavaScript,所以请多多包涵。

我有 3 个 HashMap,我在不同类的方法中引用了它们。我的代码(非常简单)如下所示:

public class MainClass {
private HashMap<String,Nation> randomHashMap = new HashMap<String,Nation>();
DifferentClass d = new DifferentClass(this);
} //with getters/setters

public class DifferentClass {
private MainClass mc;
public void randomMethod() {
System.out.println("randomHashMap is " + (mc.getRandomHashMap() == null));
} //returns null
public DifferentClass(MainClass c) {
this.mc = c;
}
}

但是,当我在其他方法中调用它们时,它们为空。

如何创建一个新的空 HashMap?

最佳答案

DifferentClass#randomMethod 方法中使用它之前,您需要初始化您的 MainClass mc 变量。另外,请确保您使用的是 mc 变量而不是 MainClass.getRandomHashMap() 方法(根据您的实际代码,我们不知道它的行为方式)。您的代码将如下所示:

public class DifferentClass {

private MainClass mc = new MainClass();

public void randomMethod() {
//assuming getRandomHashMap is the getter of randomHashMap attribute (and non static)
System.out.println("randomHashMap is " + (mc.getRandomHashMap() == null));
}
}

public class MainClass {
private HashMap<String,Nation> randomHashMap = new HashMap<String,Nation>();
DifferentClass d = new DifferentClass(this);

public HashMap<String,Nation> getRandomHashMap() {
return this.randomHashMap;
}
} //with getters/setters

关于java - 初始化空 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13438630/

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