Я пытаюсь написать структуру данных для хеш-таблицы, используя цепочку. Когда я удаляю ключевое слово «статический» из вложенного класса, я получаю сообщение об ошибке «Невозможно создать общий массив для разделения цепочки. Узел»? в строке, где я выделяю память для hmap, используя new.
Со статическим ключевым словом все работает нормально. Может ли кто-нибудь указать значение ключевого слова 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
)? И то же самое для параметров конструктора? - person Bernhard Barker   schedule 24.04.2013