从Map中的对象检索值

时间:2013-04-14 14:56:15

标签: java object map

我正在写一个翻译程序,我现在陷入困境。 有一个整数映射和MJObjects:

private Map<Integer, MJObject> objectHeap;

objectHeap = new HashMap<Integer, MJObject>();

MJObject类看起来像这样:

MJObject(SymbolTable symTab, String className)

我创建了一个新的MJObject并将其存储在一个带有引用整数的Map中。

public Integer allocClassInstance(String className)
MJObject object = new MJObject(symTab, className);
objectHeap.put(nextFree, object);

然后从另一个只使用MJObject引用的方法,我需要在MJObject中检索className。我怎样才能做到这一点?谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

  

然后从另一个只使用MJObject引用的方法,我需要在MJObject中检索className。我怎么能这样做?

如果您已经获得MJObject,则地图无关紧要。假设MJObject创建了类名,它是以某种方式构造的,你只需要这样的东西:

String className = mjObject.getClassName();

如果你实际试图获取地图中与该MJObject相关联的密钥,则必须遍历地图 - 或者可能创建第二个带有反向映射的地图(MJObjectInteger)。