0
我有一個問題,我正在嘗試解決。如果任何人都可以指出我認爲正確的方向,那就很好。我正在做的是建立一個名爲Info
的課程,該課程只包含數據。這是一個字符串名稱,令牌類型等。該類在另一個類SymbolTable
中。此類將數據添加到包含名稱:key和類Info
:value的Hashtable中。哈希表和類數據
問題是我不知道如何從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;
}}
我試過了,但它只顯示'Info'類中的原始數據。這就是我得到的:符號表{car = [email protected],[email protected],[email protected]} – Tags
這就是'Info'的內部'toString( )'方法。我不知道你是否正在實現它,或者如果它是其他的實現它,但是這個輸出來自於你調用'System.out.println(info);'的事實。如果它是您擁有的類,請重寫'toString()'並賦予其含義。如果它不是您擁有的類,請從中提取含義並打印,而不是盲目地調用'toString()'。 – Makoto
嘿誠,感謝您的幫助。我創建的信息類在我提供的代碼中列出。 'Info'類在'HashTable'內。所以我不能只寫'Info.toString()'並打印數據。我可以但是如果我創建了'Info.getValue()',當類在'Hashtable'內時,我怎麼會調用這個方法? – Tags