Я просто споткнулся о ситуации, я думаю, что раньше не пробовал. У меня есть это:
class A<DATA>
class B extends A<SomeSpecificDataClass>
Теперь я хочу объявить третий класс следующим образом:
class C <T extends A<DATA>{
public someMethod(T instance, DATA data){}
}
Я знаю, что могу просто спросить экземпляр для его данных, но для API, который я создаю, я бы ДЕЙСТВИТЕЛЬНО предпочел иметь такой синтаксис. Есть идеи, как это сделать?
Заранее спасибо.
Поскольку DATA
будет другим общим, тогда вы должны объявить, что класс использует два генерических файла:
class C<DATA, T> {
}
Затем вы можете определить другие требования для T
на основе DATA
:
class C<DATA, T extends A<DATA>> {
}
DATA
будут еще один общий? Ну, вы можете объявить толькоclass C<DATA, T extends A<DATA>>
.