Java从main方法之外的方法引用ArrayList

时间:2015-04-03 23:25:58

标签: java arraylist

所以我有以下数组列表:

ArrayList <Employee> employees = new ArrayList<>();

在我的主要方法中,我创建了它们的实例

public static void main(String[] args){
     Employee test = new Manager("john doe", 1000); //manager is subclass

} 

我有一个方法检查员工对象是否已经存在,equals方法在子类中定义

public void addEmployee(Employee newEmployee){
    for (int i  = 0; i < employees.size(); i++){
           if(newEmployee.equals(employees.get(i))){
               .........
           }
       }
 }

以上更多,但你明白了。我需要引用ArrayList,但是如果我在main方法之外实例化数组列表,我就不能向它添加任何变量,得到错误&#34;非静态方法不能从静态上下文引用#34 ;这是有道理的,但我不知道如何使用该方法,因为我不能在main方法中声明它。

1 个答案:

答案 0 :(得分:2)

除非您想创建一个用于管理员工的课程,否则您希望使您的方法和收集静态

static ArrayList <Employee> employees = new ArrayList<>();

public static void addEmployee(Employee newEmployee){
    for (int i  = 0; i < employees.size(); i++){
           if(newEmployee.equals(employees.get(i))){
               .........
           }
       }
 }

@muued有一点意见。 Java中还有其他数据结构,然后是ArrayList。如果有疑问,我会看一下:

enter image description here