当给定两个具体的类型A
和B
,MyClass<A>
和MyClass<B>
没有任何关系,不管A
和B
是什么关系。
你可以通过扩展泛型类或者实现泛型接口的
interface PayloadList<E,P> extends List<E> {
void setPayload(int index, P val);
//...
}
以下参数化的PayloadList
都是List<String>
的子类型
- PayloadList<String,String>
- PayloadList<String,Integer>
- PayloadList<String,Exception>
还可以通过通配符实现泛型的子类型,我们后面会讲到的。