[英]storing and retrieving an instance of a class in a hashtable
所以我試圖在哈希表中存儲一個類的實例:
public void insertEdge(String val1, String val2, int len) {
Hashtable ref = new Hashtable(10, 3);
if(!ref.containsKey(val2))
{
Vert temp = new Vert(val2);
ref.put(val2, temp);
curNod++;
}
ref.get(val1).firstEdge = new Edge(ref.get(val2), ref.get(val1).firstEdge, len);
}
當我在上方運行程序時,編譯器將返回以下錯誤:
error: cannot find symbol
ref.get(val1).firstEdge = new Edge(ref.get(val2), ref.get(val1).firstEdge, len);
我仍在學習哈希表,因此請放輕松。 據我了解,您應該能夠將一個類的實例存儲在哈希表中並檢索它, firstEdge
是我的類Vert
的變量,因此從理論上講,我從技術上講應該可以毫無問題地檢索它!
這是Vert
類
class Vert {
public Edge firstEdge;
public String name;
public Vert() {
firstEdge = null;
}
public Vert(String n)
{
firstEdge = null;
name = n;
}
}
您沒有在注釋您的哈希表。 因此, ref.get(val1)
返回一個Object
類,而您試圖獲取firstEdge
,它不是Object
類的屬性。 您要么必須像Hashtable<String, Vert> ref = new Hashtable<String, Vert>(10, 3);
那樣初始化您的哈希表Hashtable<String, Vert> ref = new Hashtable<String, Vert>(10, 3);
或((Vert)ref.get(val1)).firstEdge
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.