因为未知原因,突然想到了关于一个 List 集合里面能否添加不同对象的问题,因为我们平时开发过程中,关于List 的比较常规的写法就是:
List<XXX> list = new ArrayList<XXX>();
这让我形成了一种 List 里面就只能添加一种类型的对象的潜在想法(或许是 Java 基础不够扎实)。
所以,我这里用代码确定一下,List 不给定泛型,然后迭代添加两种不同的对象,最后再迭代输出数据,看看是否会有问题,代码如下:
public class MainClass {
private List list = new ArrayList();
public static void main(String args[]) {
MainClass mc = new MainClass();
mc.initData();
for (int i = 0; i < 10; i++) {
Object item = mc.list.get(i);
if (item instanceof TestOther) {
TestOther other = (TestOther) item;
String company = other.getCompany();
String position = other.getPosition();
System.out.println("company : " + company + " , position : " + position);
} else if (item instanceof TestBean1) {
String name = ((TestBean1) item).getName();
String like = ((TestBean1) item).getLike();
System.out.println("name : " + name + " , like : " + like);
}
}
}
private void initData() {
for (int i = 0; i < 10; i++) {
if (i % 2 == 0) {
list.add(new TestOther("Ekoo" + i, "Android Developer" + i));
} else {
list.add(