我在阅读泛型时遇到了PECS(制片extends人和消费者的super简称).
能否给我一个人解释如何使用佩奇之间解决困惑extends和super?
我试图了解低级和上级通配符的行为.
尝试编译以下代码时遇到问题.
Collection<? extends Object> c = new ArrayList<Object>();
c.add(new Object()); // Compile time error
Run Code Online (Sandbox Code Playgroud)
为了解决这个问题,我也尝试了下限外卡.幸运或不幸的是,代码编译得很好但却造成了很多混乱.
Collection<? super Object> c = new ArrayList<Object>();
c.add(new Object()); // Compiles fine
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下,这两个代码片段是如何工作的.如果有人可以提供其他示例/链接,那就太好了.
如果我上面做错了,请纠正我.
提前致谢.