У меня ожидаемую ошибку идентификатор в этом блоке кода:Идентификатор Ожидаемая Hash Ошибка Таблица
@SuppressWarnings({"rawtypes","unchecked"})
theLists = new List<AnyType>[ nextPrime(2 * theLists.length) ];
for(int j = 0; j < theLists.length; j++)
theLists[ j ] = new LinkedList<>();
Компилятор говорит, что должен быть идентификатором после «theLists» и перед =. Какой идентификатор? Как это исправить?
Это полный метод:
private void rehash()
{
List<AnyType> [ ] oldLists = theLists;
// Create new double-sized, empty table
@SuppressWarnings({"rawtypes","unchecked"})
theLists = new List<AnyType>[ nextPrime(2 * theLists.length) ];
for(int j = 0; j < theLists.length; j++)
theLists[ j ] = new LinkedList<>();
// Copy table over
currentSize = 0;
for(List<AnyType> list : oldLists)
for(AnyType item : list)
insert(item);
}
я удалил предупреждение исключит из тела и просто положить его в конструкторе, но он по-прежнему говорит, что идентификатор ожидается:
public HashTable(int size)
{
@SuppressWarnings("unchecked") theLists = (List<AnyType>[]) new List<?>[nextPrime(2 * theLists.length)];
for(int i = 0; i < theLists.length; i++)
theLists[ i ] = new ArrayList<>();
}
Вы не можете использовать кронштейн обозначения на неконтактного типа массива. Кроме того, «Список» не может быть создан. – August
@August Это похоже на тип массива. –
Это тип массива. – user2820406