Overloading Java function with List<> parameter

前端 未结 6 1363
猫巷女王i
猫巷女王i 2021-02-02 15:19

I have 2 classes

public class Customer{
  ...
  public String getCustomerNumber();
  ...
}

public class Applicant{
   ....
   private Customer c;
   public Cust         


        
6条回答
  •  我在风中等你
    2021-02-02 15:52

    If you make both classes implement a common interface,

    interface CustomerNumber {
        String getCustomerNumber();
    }
    
    public class Customer implements CustomerNumber {
      ...
      public String getCustomerNumber();
      ...
    }
    
    public class Applicant implements CustomerNumber {
       ....
       private Customer c;
       public Customer getCustomer() { return c; }
       public String getCustomerNumber() { return getCustomer().getCustomerNumber(); }
       ...
    }
    

    then you might be able to do what you want with just a single method:

    public void processCustomerNumbers(List appList) {
        for (Customer c: appList) {
            processCustomerNumber(c.getCustomerNumber());
        }
    }
    

提交回复
热议问题