0

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

例如,对象 Employee 具有 emp_id、name、address、DOB 等属性。

我想将每个属性作为一个对象存储在 ArrayList 中。喜欢,

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

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

4

1 回答 1

0

ArrayList 必须是同一类型。你可以有一个 ArrayList 类型,你可以在其中做你正在做的事情,因为 Java 中的所有对象都扩展了 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);
    }    
}
于 2013-03-21T21:46:07.563 回答