我正在尝试使用链接编写哈希表的数据结构。当我从嵌套类中删除关键字“静态”时,出现“无法创建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