I have two objects of same type.
Class A{
String a;
List b;
int c;
}
A obj1= new A();
A obj2 = new A();
obj1 => {a = "hello";b=null;c=10}
obj2 => {a=null;b= new ArrayList();c=default value}
Can you please let me know what is the best way to combine this objects into single object?
obj3 = {a = "hello";b=(same arraylist from obj2);c=10}
解决方案
Maybe something like
class A {
String a;
List<..> b;
int c;
public void merge(A other) {
this.a = other.a == null ? this.a : other.a;
this.b.addAll(other.b);
this.c = other.c == 0 ? this.c : other.c;
}
}
A a1 = new A();
A a2 = new A();
a1.a = "a prop";
a2.c = 34;
a1.merge(a2);
A.merge might return a new A object instead of modifing current.