List<? extends Base> list
List<Base> list
这两种声明有什么区别吗?
谢谢,
最佳答案
是的。
List<Base>
可以包含所有派生自 Base
的不同事物的混合物. List<? extend Base>
包含同质项(从某种意义上说,它们必须全部派生自某个特定的未知类型,而该类型又派生自 Base
)。
换句话说,List<? extends Base>
是 List<T extends Base>
的基类.所以你可以传递 List<T extends Base>
任何采用 List<? extends Base>
的方法.对于采用 List<Base>
的方法,情况并非如此。 .
关于java - 列表<?扩展基础> VS 列表<基础>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9488445/