【发布时间】:2011-04-02 17:02:30
【问题描述】:
我遇到了一个我无法解决的小问题。
我有一个在我的 HashMap 中使用过的超类 (SetupFunctions) -->
public HashMap<Integer, SetupFunctions> map = new HashMap<Integer, SetupFunctions>();
所有其他类都扩展了SetupFunction。
我需要做 160 种方法来检索唯一数据,并且我需要将这些数据存储在一个地方以便以后检查(这是一个自动化测试)。
这就是为什么我在 HashMap 中有 SetupFuncition 类型。
所以,我用构造函数实例化一个类,然后将它添加到 hashmap 中:
MyClass m = new MyClass (car1, var2, var3, var4, var5);
map.put(getCenarioID(), m);
在同样的方法上,我添加了一些 sysout 只是为了看看发生了什么:
System.out.println(map.containsKey(1));
System.out.println(map.size());
正如预期的那样,它会打印 True 和 1... 但是当我离开这个方法(方法执行结束)并返回到 main 方法时,同样的 sysout 会打印 False 和 0。
我想知道为什么我的 hashmap 为空或正在重置...这不会发生...我说的对吗?
【问题讨论】:
-
您的
Map变量在哪里? main 方法和将 MyClass 放入地图的方法真的使用相同的变量吗?您能否生成一个显示相同行为的简短代码,以便您和我们找出发生了什么? -
如果您发布 maim 和其他方法的代码会有所帮助
标签: java collections map hashmap