ArrayList对象。按多种条件搜索

时间:2014-08-18 14:41:53

标签: java arraylist

我有一个CRM对象的ArrayList(actionsList)。 我想找到: 如果一个对象具有值"首先联系"在字段" typeOfContact", 是否有另一个具有价值"提供" field" typeOfContact"与前一个对象中的经销商和名称相同。

public class CRM {

    private String remark;
    private String number;
    private String dealer;
    private String name;
    private String typeOfContact;
    private String model;
    private String phone;
    private String email;
    //...

    public String getRemark(){
        return remark;
    }

    public void setRemark(String remark){
        this.remark=remark;
    }

    public String getNumber(){
        return number;
    }

    public void setNumber(String number) {
        this.number=number;
    }

    public String getDealer(){
        return dealer;
    }

    public void setDealer(String dealer) {
        this.dealer=dealer;
    }

    public String getName(){
        return name;
    }

    public void setName(String name) {
        this.name=name;
    }

    public String getTypeOfContact(){
        return typeOfContact;
    }

    public void setTypeOfContact(String typeOfContact) {
        this.typeOfContact=typeOfContact;
    }

    public String getModel(){
        return model;
    }

    public void setModel(String model) {
        this.model=model;
    }

    public String getPhone(){
        return phone;
    }

    public void setPhone(String phone) {
        this.phone=phone;
    }

    public String getEmail(){
        return email;
    }

    public void setEmail(String email) {
        this.email=email;
    }
    // ...
}

应该是这样的吗?

for(CRM crm : actionsList){
   if (crm.getTypeOfContact.equals("First contact"){
      for(CRM x : actionsList){
         if (x.getDealer().equals(crm.getDealer()) && 
(x.getName().equals(crm.getName()) && x.getTypeOfContact().equals("Offer"))){
             System.out.println("OK"); 
         }
         else {
             System.out.println("Not OK"); 
         }
      }
   }
}

1 个答案:

答案 0 :(得分:0)

你的get方法是函数,需要(),所以这个

if (x.getDealer.equals(crm.getDealer) && (crm.getDealer.equals(crm.getDealer) && 
    (x.getName.equals(crm.getName) && (x.getTypeOfContact.equals("Offer"){

你有悬挂的括号,crm.getDealer.equals(crm.getDealer)毫无意义 - 所以我删除了它。我想你想要的东西,

if (x.getDealer().equals(crm.getDealer()) && 
    (x.getName().equals(crm.getName()) && x.getTypeOfContact().equals("Offer"))){