如何通过for循环在Arraylist中添加对象的各个元素?

时间:2013-03-21 21:38:03

标签: object arraylist element

我正在尝试将对象的所有元素添加到ArrayList中。对象的元素属于不同类型。

e.g。对象具有emp_id,name,address,DOB等属性的Employee。

我想将每个属性存储为ArrayList中的对象。像,

ArrayList[1] = Employee.emp_id
ArrayList[2] = Employee.name
ArrayList[3] = Employee.address

我想动态地做。就像,将来在此对象中添加更多属性,而无需进行手动操作。有没有办法创建一个数组列表?

1 个答案:

答案 0 :(得分:0)

ArrayList必须是同一类型。您可以拥有一个类型的ArrayList,您可以在其中执行您正在执行的操作,因为Java中的所有对象都扩展了Object。但是,如果您尝试在arraylist中存储不同的Object类型,则无法实现。

你可能知道第一部分,你的帖子中有点不清楚。

以下是使用反射对象的方法:

//make sure you import java.lang.reflect.*

public void addMyFields(Employee e){
    ArrayList<Object> list = new ArrayList();
    for (Field field : emp.getClass().getDeclaredFields())
    {
        field.setAccessible(true);
        list.add(field.get(emp);
    }    
}