Java中List的父类与子类如何转换?
定义
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里
}
父类转子类
List<B> dadList = getxxxxxx;
List<A> childList = new ArrayList<A>();
for(B b : dadList){
childList.add((A)b); //强转后依次加到子类List里
}