以下の要件に対する最適なソリューションを探しています。
ClassA
以下のようなクラスがあります
public class ClassA {
protected List<ClassA.PlanA> planA;
public List<ClassA.PlanA> getPricePlan() {
if (planA == null)
planA = new ArrayList<ClassA.PlanA>();
return this.planA;
}
public static class PlanA {
protected String code;
protected XMLGregorianCalendar startDate;
protected XMLGregorianCalendar endDate;
// Getters and setters for the above fields
}
}
そして、私は の 2 つのオブジェクトを持ってい(obj1, ojb2)
ますClassA
。要件は、2 つのオブジェクトをマージし、重複を削除することです。
例:
ClassA obj1=[PlanA =[code=AAA, startDate=2010/12/10, endDate=2011/12/10], PlanA =[code=BBB, startDate=2010/12/10 endDate=<null>]]
ClassA obj2=[PlanA=[code=AAA, startDate=2011/12/10], PlanA= [code=CC, startDate=2011/12/10 endDate=<null>], PlanA= [code=BBB, startDate=2010/12/10 endDate=2011/12/10]]
マージ後、結果は次のようになります。
ClassA obj3=[PlanA[code=AAA, startDate=2011/12/10], PlanA= [code=CC, startDate=2011/12/10 endDate=<null>],PlanA= [code=BBB, startDate=2010/12/10 endDate=<null>]}