Создание экземпляров публичных внутренних классов общих классов

Итак, у меня получилось что-то вроде следующего:

public class Enclosing<T extends Comparable<T>> {
    // non-relevant code snipped
    public class Inner {
        private T value;
        public Inner(T t) {
            value = t;
        }
    }
}

Все компилируется, и мир счастлив. Однако, когда я пытаюсь создать экземпляр Enclosing.Inner следующим образом, я не могу:

new Enclosing<Integer>.Inner(5);

Возникает следующая ошибка:

Cannot allocate the member type Enclosing.Inner using a parameterized compound name; use its simple name and an enclosing instance of type Enclosing.

Важно отметить, что я не могу сделать внутренний класс static, потому что он содержит поле типа T.

Как я могу это обойти?

6
задан knpwrs 22 November 2011 в 02:11
поделиться