"对Java泛型如何处理继承/多态性有些困惑。
假设以下层次结构 -
动物(家长)
狗 - 猫(儿童)
所以假设有一个方法doSomething(List<Animal> animals)。通过继承和多态的所有规则,假设List<Dog> 是一个List<Animal>和List<Cat> 是一个List<Animal>-所以任何一个可以传递给此方法。不是这样。如果想实现这个行为,必须明确地告诉方法接受动物的任何子集的列表说doSomething(List<? extends Animal> animals)。"
相似问题