Я использую Java 6.
У меня проблемы с тем, чтобы мой внутренний класс использовал тот же общий класс, что и его окружающий класс. В настоящее время у меня есть
public class TernarySearchTree < T > {
...
protected class TSTNode < T > {
// index values for accessing relatives array
protected static final int PARENT = 0, LOKID = 1, EQKID = 2, HIKID = 3;
protected char splitchar;
protected TSTNode < T > [] relatives;
private T data;
protected TSTNode(char splitchar, TSTNode < T > parent) {
this.splitchar = splitchar;
relatives = new TSTNode[4];
relatives[PARENT] = parent;
}
}
}
. Сейчас я получаю предупреждение
Параметр типа T скрывает тип T
Если я удалю параметр типа из внутреннего класса (т.е. удалю
из защищенного класса TSTNode
строка), то я получаю ошибку компиляции в строке родственники = новый TSTNode [4]
.
Как я могу все исправить?