Java скрытие параметров типа generics

Я определяю класс:

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 на самом деле относятся к одному и тому же типу.

5
задан Dan Neely 12 May 2019 в 14:43
поделиться