Итак, у меня есть что-то вроде следующего:
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);
Происходит следующая ошибка:
Невозможно выделить тип члена Enclosing<Integer>.Inner
с использованием параметризованного имени соединения;используйте его простое имя и включающий экземпляр типа Enclosing<Integer>
.
Важно отметить, что я не могу создать внутренний класс static
, поскольку он содержит поле типа T
.
Как я могу обойти это?