Это мой метод удаления кучи.Я получаю много ошибок «необратимого типа» при компиляции.Также обратите внимание, что моя программа расширяет Comparable.
public class HeapImpl12<T extends Comparable<? super T>> implements Heap12<T>
Я знаю, что мой массив не объект типа, а тип T.
T[] _nodeArray = (T[]) new Comparable[DEFAULT_ARRAYSIZE];
Вопрос: Я понимаю, что все должно быть типа T, но когдаЯ писал свой код, я получил много ошибок «НЕ МОЖЕТ ПРЕОБРАЗОВАТЬ ТИП T В ТИП INT», поэтому я решил выполнить типографский перевод, чтобы сделать его того же типа (T) или (Integer).Теперь я понимаю, что это неправильно, так как я получаю ошибку «необратимый тип».Кто-то, кто хорошо разбирается в Java Generics, расскажите, пожалуйста, о методах и советах, как хранить все ошибки типа T.
public void remove(T o) {
for(int i = 0; i < _nodeArray.length; i++){
if(_nodeArray[i].equals(o)){
_nodeArray[i] = _nodeArray[_numNodes - 1];
if((Integer)_nodeArray[i] > parentIdx(i)){
bubbleUp((Integer)_nodeArray[i]);
}
else{
trickleDown((Integer)_nodeArray[i]);
}
}
else{
throw new NoSuchElementException();
}
_numNodes--;
}
}
: случаются при типизации (целое число).Я могу опубликовать весь свой код, если вы хотите, чтобы я, но я думаю, что этого достаточно.