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);
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM