【问题标题】:array and object declaration数组和对象声明
【发布时间】:2014-02-19 20:16:15
【问题描述】:

我正在尝试创建一个对象数组列表。我是一名学生,我的教授要求所有声明都在可执行代码之前,并且所有实例化或初始化(不确定哪个术语)都在可执行代码中完成。我是 List 或 ArrayList 概念的新手,我不知道如何开始。

List <Room> roomAry;    //declare array object for rooms

//initialize room array
roomAry = new List<Room>();

这一直告诉我它无法编译。

错误如下:

列表是抽象的;无法实例化 roomAry = new List ();

【问题讨论】:

    标签: list arraylist


    【解决方案1】:

    因为它应该是roomAry = new ArrayList&lt;Room&gt; ()。这对 .NET 和 JAVA 都是正确的。 List 只是一个接口(JAVA)

    【讨论】:

      【解决方案2】:

      该错误准确地告诉您问题所在。 List 是一个接口,因此是抽象的。您不能创建抽象类或接口的实例;你总是必须创建一个具体类的实例。

      请参阅 javadocs 中 List 接口下的 All Known Implementing Classes: 部分。 (注意,如果实现类本身是抽象的,那么你就不能使用它)

      因此,您可以使用其中一个实现类进行实例化。其中一个更简单的是ArrayList

      roomAry = new ArrayList<Room>();
      

      【讨论】:

        猜你喜欢
        • 2013-03-22
        • 2023-04-06
        • 1970-01-01
        • 2021-09-19
        • 2017-01-17
        • 2018-04-18
        • 1970-01-01
        • 2019-12-02
        • 1970-01-01
        相关资源
        最近更新 更多