我创建了一个对象,其中包含针对数据库运行的查询的所有结果。然后将这些结果存储在数组中。
我正在尝试将此数组转换为 ArrayList,以便可以将其用于导入到文档中。
我已经尝试过:
//trustSummary is the name of my array
ArrayList data = new ArrayList(Arrays.asList(trustSummary));
但是当我尝试在应用程序的另一部分运行以下代码时,这似乎会导致问题(ClassCastException
)。请任何人指出解决此问题的正确方向。
for (Iterator rows = data.iterator(); rows.hasNext();)
ArrayList row = (ArrayList) rows.next();
最佳答案
您在编写 new ArrayList(Arrays.asList(trustSummary));
的部分中使用的 ArrayList(Collection)
构造函数使用源集合中的元素创建一个 ArrayList
,它不会创建一个使用另一个集合作为元素的 ArrayList
。
因此您需要修复该行,或更改该行
ArrayList row = (ArrayList) rows.next();
至
TrustSummary ts = (TrustSummary) rows.next();
一般来说,我建议使用泛型,以避免对集合类型的这种混淆。
在您的情况下,例如
List<TrustSummary> summaries = new ArrayList<TrustSummary>(Arrays.asList(trustSummary));
关于java - 将对象数组转换为 ArrayList 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14875661/