如何将arraylist的内容变成对象?

时间:2011-11-25 16:28:53

标签: java arraylist

我有一个arraylist(eg.CustInfo),它包含java类的对象集合(Cust_details,Cust_Auth),后者又为已定义的变量(例如,.cust_name,Cust_addr)集合了值。

现在我的问题是我有一个新类(例如Priviliged_Cust),它有一些变量,其值必须从arraylist中添加的对象中获取。

我试图将arraylist强制转换为新类并使用get(index)获取数据,但它抛出了castException。

请帮帮我!!!

附加说明,

首先,运行查询并将结果映射到相应类的相应变量中 在setter方法的帮助下,使用该特定类的对象的实例。 然后将此对象添加到Arraylist中并返回Arraylist。

其次,这发生在一组查询中,并且数据被映射到各自的类和 将对象添加到arraylist中,并将相应的arraylists返回到相应的调用方法。

我的问题是,我创建了一个新类,它包含与之前的类相同的字段 它还需要映射到与arraylist中的上述类相同的变量 包含需要映射的字段值的对象。

由于查询只返回Arraylist,我需要从模型中获取对象 那么我需要分别匹配每个字段。

希望这些信息有所帮助。

6 个答案:

答案 0 :(得分:1)

不要使用集合来存储彼此无关的数据。对这些值使用带有getter和setter的成员变量。然后,只需调用getter即可获得所需的任何值。

如果要创建一个包含现有数据值的新Object,请不要尝试转换数据。只需创建新的Object并使用构造函数参数为其赋值。

答案 1 :(得分:0)

我建议您使用泛型来检查集合类型。

List<CustInfo> custList = ...
CustInfo ci = custList.get(n); // no cast required.

答案 2 :(得分:0)

ArrayList<Priviliged_Cust> CustInfo = new ArrayList<Priviliged_Cust>();

使用泛型

答案 3 :(得分:0)

首先,我并不完全了解您如何构建代码,一些代码示例可以帮助我们更好地理解。

说我猜您的问题是您有anObjectanotherObject,并且您希望anotherObject拥有与anObject相同的属性。有几种方法可以解决这个问题。

两种简单的方法包括:

  1. anotherObject 延伸 anObject(继承)

  2. anotherObject 包含 anObject(作文)

答案 4 :(得分:0)

如果没有看到代码,很难回答,但我想你想构建一个对象,其数据分布在arraylist中不同对象的字段中。您可以为此目的使用dozer或类似工具(对象到对象映射)。定义映射,然后迭代列表,迭代结束时,您应该在对象上捕获所需的信息。

答案 5 :(得分:0)

就像其他人已经发布过的那样,要破解你想要回答的内容有点难。

我的问题是你有一个包含类对象的ArrayList,并且你想将一些对象细节从其中一个转移到另一个类(称为Priviliged_Cust)

因此:

<BaseClass> temp = <ArrayList-name>.get(index);    // puts the desired object into a new reference 

Priviliged_Cust newCust = new Priviliged_Cust (temp); // copies the details of the object referred by temp 
                                                  //and instantiates a new Priviliged_Cust from it.

只有在Priviliged_Cust类中有一个构造函数接受一个对象作为参数,然后将基础的详细信息复制到新类中时,这才有效。