我正在写一个翻译程序,我现在陷入困境。 有一个整数映射和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。我怎样才能做到这一点?谢谢你的帮助。
答案 0 :(得分:2)
然后从另一个只使用MJObject引用的方法,我需要在MJObject中检索className。我怎么能这样做?
如果您已经获得MJObject
,则地图无关紧要。假设MJObject
创建了类名,它是以某种方式构造的,你只需要这样的东西:
String className = mjObject.getClassName();
如果你实际试图获取地图中与该MJObject
相关联的密钥,则必须遍历地图 - 或者可能创建第二个带有反向映射的地图(MJObject
到Integer
)。