Как заставить внутренний класс унаследовать универсальный тип включающего класса?

Я использую 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] .

Как я могу все исправить?

20
задан nbro 25 October 2015 в 20:28
поделиться