按年龄过滤数组列表?

时间:2014-02-24 20:11:23

标签: java

我需要过滤客户信息列表并打印我们65岁以上的人员列表。

我首先创建了一个看起来像这样的方法......

public static boolean eligibleForRetirement(int age) {
        if (age >= 65) { 
            return true;
        } else {
        return false;
        }
    }

和打印出列表的另一种方法

public static void menuOptionThree(){
        ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv");
        ArrayList<Customer> customersOver65 = new ArrayList<Customer>();
            Customer.eligibleForRetirement(0).add(customersOver65);
            System.out.println(customersOver65);
        }

但这不起作用。我收到一条错误,上面写着“无法在基本类型boolean上调用add(ArrayList)。”

2 个答案:

答案 0 :(得分:0)

您的代码变化最小,如下所示:

public static boolean eligibleForRetirement(Customer c) {
        if (c.getAge() >= 65) { 
            return true;
        } else {
           return false;
        }
    }

//

ArrayList<Customer> list = generateFromFile("Week3ProgrammingDataUpdate.csv");
     ArrayList<Customer> customersOver65 = new ArrayList<Customer>();
    for(Custumer customer: list ){
        if (Customer.eligibleForRetirement(customer)){
        customersOver65.add(customer);

    }
    System.out.println(customersOver65);
}

答案 1 :(得分:0)

您没有添加到任何一个ArrayLists。实际上,您的代码正在尝试将ArrayList添加到Customers类中的方法。