У меня есть общий тестовый класс, который является общим для типа коллекции (в моем случае это стек), которую он тестирует.
Пусть имя универсального типа будет S
(для стека). У меня есть интерфейс IStack<E>
, и я хочу требовать S
для реализации IStack<E>
.
Когда я объявляю свой класс как
class Test<S extends IStack> { ... }
,
Я получаю предупреждение:
IStack является необработанным типом, References ... должен быть параметризован.
class Test<S<E> extends IStack<E>>
приводит к синтаксической ошибке
Синтаксическая ошибка на токене '<', ожидаемая </p>
Как правильно объявлять такого рода ограничения в Java?