我今天遇到了一些奇怪的事情.看一下这段代码:
List <Rectangle> test1 = new LinkedList<Rectangle>();
List <Shape> test2 = test1; //Compiler Error;
Run Code Online (Sandbox Code Playgroud)
这当然是假设Rectangle类是Shape的子类.有人可以向我解释为什么这是一个错误?
我们知道ViewGroup扩展了View.
此外,我们有一个通用的参数化class A<T extends View>
问题:
为什么方法不C.add()接受new A<ViewGroup>()参数?
由于多态性,它不应该工作吗?

解决方案:
Singning add with ? extends Viewlet添加accept new A<ViewGroup>()作为参数.
