我有一个问题,我正在努力解决。如果有人能指出我正确的方向,这将是很好的。我正在做的是构建一个名为Info
的类,它只保存数据。这是一个String名称,Token类型等。这个类在另一个名为SymbolTable
的类中。此类将数据添加到Hashtable,该Hashtable包含name:key和类Info
:value。
问题是我不知道如何从Hashtable值中检出Info
的数据。
我尝试使用toString
方法,但只是从类Info
中吐出原始数据。
这是我的代码:
public class SymbolTable {
private Hashtable<String, Info> myTable = new Hashtable<String, Info>();
public void add(String name, IdInfoToken kind){
Info valueInfo = new Info();
valueInfo.symbol = name;
valueInfo.tokenKind = kind;
myTable.put(name, valueInfo);
}
public String toString(){
String answer = " ";
answer += myTable;
return answer;
}
private class Info {
String symbol;
IdInfoToken tokenKind;
}}
答案 0 :(得分:2)
您将以与放入数据相同的方式检索数据:按键。
我不知道你传递给你的包裹name
方法的add
的值是什么,但实质上,它会与此类似:
public Info retrieve(String name) {
return myTable.get(name);
}
除此之外,除非您确实需要同步,否则请使用Map<String, Info>
接口和HashMap
具体实现,而不是Hashtable
。这是Javadoc recommends at the bottom。