Java通配符和generics? 超级T和? 延伸T.

当处理通配符,如设置/添加通用项目到某个容器时,是否建议使用这样的东西?

void add(List someList,someitem){ someList.add(someItem); } 

当检索项目时,建议使用这样的东西

   void f1(List obj, T item) { obj.add(item); } 

这背后的原理是什么? 我什么时候才能知道我是否应该使用它?

你应该看一下PECS原理的解释

什么是PECS(制作人扩展消费者超级)?

简而言之,当您想要从对象获取信息时,请确保使用带外卡的扩展。

当你想把信息放到一个对象中时,一定要使用super和wild card