Я определяю класс:
class Foo<I extends Bar & Comparable<I>> {
}
компилятор жалуется на I
скрывается I
. Я предполагаю, что второй раз, когда I
появляется в определении, скрывается в области видимости первый, как если бы переменная I
могла быть назначена двум различным типам. Как это сделать правильно?
Edit:
это внутренний класс. полный код может быть таким:
class Baz<I> {
class Foo<I extends Bar & Comparable<I>> {
}
}
теперь проблема в том, что если я повторно назначу внутренний I
на J
, я не уверен, что I
и J
на самом деле относятся к одному и тому же типу.