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