使用while循环和迭代器返回一个ArrayList

时间:2014-11-26 23:39:25

标签: java arraylist iterator

以下方法存在很大问题。

public class PoliceDepartment{
    private ArrayList<PoliceOfficer> policeOfficers;


    public PoliceDepartment()
    {
        policeOfficers = new ArrayList<PoliceOfficer>();
    }

    public void addPoliceOfficers(PoliceOfficer newPoliceOfficers)
    {
    if(newPoliceOfficers != null)
    {
        policeOfficers.add(newPoliceOfficers);
    }
    }

接受官员姓名作为参数的方法,验证传递的参数不为空,搜索集合并返回该官员发出的停车票的ArrayList,如果没有由此发出的停车票,则返回null。指定人员。官员姓名不区分大小写。此方法使用while循环和迭代器来实现所需的功能。

public ArrayList<ParkingTicket> getAllTicketByOfficer(String officerName) {
    ArrayList<PoliceOfficer> al = new ArrayList<PoliceOfficer>();
    Iterator<PoliceOfficer> it = policeOfficers.iterator();
    while(it.hasNext()){
        PoliceOfficer officer = it.next();
        if(officerName != null && officerName.equalsIgnoreCase(officer.getOfficerName())){  
            al.add(officer);
        }
        else {
            return null; 
        }
    }
    return al;
 }

我遇到问题:

 return al;

发现的错误显示“不兼容的类型”)

我不明白该怎么做。有人能帮助我吗?

1 个答案:

答案 0 :(得分:-1)

您正在将PoliceOfficers添加到ParkingTickets列表中。这些类型不兼容。