Java中父类和子类集合互相转换(转)
(转至:https://www.cnblogs.com/ledphz/p/12373051.html)
定义
A是B的子类,A比B多几条属性
要点:
A是B的子类,但List<A>不是List<B>的子类。所以想直接转换是不行的。
子类转父类
List<A> childList = getxxxxxx;
List<B> dadList = new ArrayList<B>();
for(A a : childList){
dadList.add(a); //依次加到父类List里
}
父类转子类(1)
List<B> dadList = getxxxxxx;
List<A> childList = new ArrayList<A>();
for(B b : dadList){
childList.add((A)b); //强转后依次加到子类List里
}
父类转子类(2)
List<B> dadList = getxxxxx;
List<A> childList = new ArrayList<A>();
for(B b : dadList){
A a = new A();
a.setxxx(b.getxxx);
childList.add(a);
}