当前位置: 首页 > 知识库问答 >
问题:

为什么第二个示例编译成功[重复]

蓬兴国
2023-03-14
import java.util.*;    

class Test
{
    public static class Base
    {           
    }

    public static class Derived1
        extends Base
    {               
    }

    public static class Derived2
        extends Base
    {               
    }

    public static void main (String[] args)
    {
        //Example1.
        List<? extends Base> e = new ArrayList<Base>();
        e.add(new Derived1()); //this won't compile

        //Example2.
        List<? super Base> b = new ArrayList<Base>();
        b.add(new Derived1()); //this compiles
    }
}

共有2个答案

方寒
2023-03-14

什么是PECS(生产者扩展消费者超级)?。

如果您正在向列表中添加内容

华哲茂
2023-03-14

列表

另一方面,List

 类似资料:
  • 为什么方法编译成功,而没有成功?

  • 问题内容: 我将ajax与jquery一起使用,当我尝试在弹出窗口中显示结果时。然后警报始终显示 编辑: 问题答案: 尝试在函数的最后一行添加或。

  • 我有这个密码: 这给我留下了编译器对我大喊大叫: 我花了很长时间才明白我必须改变Vec 代码现在编译,但我完全不明白这里到底有什么问题。为什么要在Vec定义中发送代码?我的意思是,这个特性已经实现了发送克隆。对我来说,这看起来相当多余。 有人能和我分享他的智慧吗,为什么我必须这样修改代码?

  • 我的项目有问题。它是一个Spring CRUD RestFul API,公开提供Json数据的服务。我使用JDK-7、Eclipse Neon和Maven进行编码、构建,并将项目部署到JBossEAP 6.4服务器中。一切正常,服务响应正确。 所以我决定添加Lombok,以减少boiler代码并提高代码的可读性。顺便说一句,我之前在另一个项目中使用了龙目,效果很好。 这是我的问题,包括龙目:当我使

  • 奇怪的是,标记为“OK”的行编译得很好,但标记为“Error”的行失败了。它们看起来基本上是一样的。

  • 我在Mac OS X上使用Java8编译了一个简单的Java文件到assembly。这是test.Java: