Android两个不同类型的对象arraylist添加到单个arraylist中

时间:2016-08-04 05:01:31

标签: java

我尝试将两个arraylist添加到单个arraylist中。所有arraylist对象类型都不同。

这里是我的两个arraylist-

     ArrayList<NewsItem> topnewslist=new ArrayList<>();
     ArrayList<LatestNewsInfo> latestnewslist=new ArrayLis();

     ArrayList<AllNewsInfo> allnewslist=new ArrayList<>();// add here

    // I try this
   allnewslist.addAll(topnewslist); // not add bcoz differnt type of object
  allnewslist.addAll(latestnewslist); //not add bcoz differnt type of object

//注意:所有对象数据模型值都相同。

什么是最佳解决方案??

1 个答案:

答案 0 :(得分:6)

ArrayList<Object> allnewslist=new ArrayList<>();

理想情况下,NewsItemLatestNewsInfo都应该继承公共接口,然后您可以拥有此接口的列表。

interface News{}  //can be an abstract class

class NewsItem implements News{
}

class LatestNewsInfo implements News{
}

//edit - define variables to interface instead of actual implementation object 
List<News> allnewslist=new ArrayList<>();