Java中的对象ArrayLists

时间:2013-04-01 16:43:56

标签: java generics arraylist

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

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

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

图片中的所有内容。

4 个答案:

答案 0 :(得分:2)

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

或者对于在线实例化:(但一定要看看double brace initialisation的优点和缺点)

E.g。

public class TestEmployee {

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

}

答案 1 :(得分:1)

实际上我看到了你的图片,发现你试图在方法或块之外的ArrayList中添加元素。

而不是在方法中写这个。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

列表类型应为:

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