我正在嘗試使用鏈接編寫哈希表的數據結構。當我從嵌套類中刪除關鍵字「靜態」時,出現「無法創建SeparateChaining.Node的通用數組」的錯誤?在我分配內存使用新的Hmap的線上。對於泛型外部類,爲什麼我需要聲明嵌套類是靜態的?
使用static關鍵字可以正常工作。任何人都可以指出關鍵字static在這裏的意義以及它的區別嗎?我正在創建一個對象數組,然後它如何在錯誤中顯示泛型數組(Eclipse)?
public class SeparateChaining<Key,Value> {
private int m;
private Node[] hmap;
private int n;
public SeparateChaining()
{
m=5;
n=0;
//error here on removal of static keyword from the node class declaration
hmap=new Node[m];
}
private ____ class Node //works fine with static. Otherwise shows error
{
private Object key;
private Object value;
private Node next;
public Node(Object k, Object v)
{
key=k;
value=v;
}
}
感謝
不應將'key'的類型設置爲'Key',並將'value'的類型設置爲'Value'(而不是'Object')?和構造函數參數一樣嗎? – Dukeling 2013-04-24 19:06:04