我有一个通用的测试类,它在它测试的集合(在我的例子中是堆栈)类型上是通用的。将泛型类型的名称设为S(对于 Stack)。我有一个接口IStack<E>,我想要求S实现IStack<E>. 当我将类声明为 时 class Test<S extends IStack> { ... },会收到警告:IStack 是原始类型,References ... 应该被参数化。class Test<S<E> extends IStack<E>> 导致语法错误标记 '<', 上的语法错误,预期在 Java 中声明这种绑定的正确方法是什么?
2 回答
潇湘沐
TA贡献1816条经验 获得超6个赞
我认为您需要两个通用参数,一个用于元素,另一个用于堆栈类型,即
class Test<E,S extends IStack<E>>
(或E extends SomeAncestorOfYourElements
如果需要)
添加回答
举报
0/150
提交
取消