【问题标题】:Objects ArrayLists in Java [closed]Java中的对象ArrayLists
【发布时间】:2013-03-22 18:24:23
【问题描述】:

我正在尝试创建使用相同抽象类的不同类的数组列表。

但是,我得到了这个错误。

<identifier> expected, illegal start of type, package list does not exist.

图片中的所有内容。

【问题讨论】:

  • 这里给出错误信息。
  • 对不起,错误是 预期的,类型的非法开始,包列表不存在。
  • 不要在第 3 方网站上发布图片,将问题中的错误作为内嵌文本发布,否则会很快被否决并删除
  • 在此处复制并粘贴损坏的代码(提供足够的上下文让我们理解,不要粘贴所有内容),然后输入您遇到的错误。这将使我们更容易快速回答,因为从您的图像中输入课程和其他内容会花费我们宝贵的时间。

标签: java generics arraylist


【解决方案1】:

您的list.add 不是在构造函数或方法中发生,而只是在您的类中浮动,这是不允许的。如果您需要它在类实例化时发生,请尝试将其放入构造函数中,或者创建一个方法以将传递给它的参数添加到您的 list 中。

也可用于内联实例化:(但请务必查看double brace initialisation 的优缺点)

例如

public class TestEmployee {

    private ArrayList<Employee> list = new ArrayList<Employee>() {{
        add(new SalariedEmployee...);
        add(new SalariedEmployee...);
    }}

}

【讨论】:

  • +1 表示该隐藏功能。
【解决方案2】:

其实我看到你的图片,发现你是想在方法或块外添加ArrayList中的元素。

在方法中写 this 而不是这个。

public void method() {
   list.add(.........);
}

【讨论】:

    【解决方案3】:

    您没有将这些语句包装在任何方法中。 list 字段的实例化很好,但是为其分配一些值?不。把它放在一个块或方法中。

    【讨论】:

      【解决方案4】:

      列表类型应该是:

      ArrayList <? extends Employee> list = new ArrayList<>();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-30
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多