-2

所以基本上,我有这几个超类,它们的几个子类中的一个组成了一个小程序。至于文件处理,由于我使用的是“数组”,所以我使用了 writeobject 和 readobject 方法。但是现在,我已将所有数组都更改为“ArrayLists”,但是在处理文件时,它显然不像以前那样工作了。

我有 2 个特定部分出错,首先是:

for(i=0;i<100;i++)
{
customerOOS.writeObject(Customer[i]);//since we no longer have (Customer[]) array, and instead Custarray of arraylist
}

. . .

第二部分:

for (i=0;i<100;i++)
{
Customer[i] = (Customer)customerOIS.readObject();//same problem again
}

那么,我应该用什么替换这些部件,然后它才能工作。或者我应该使用完全不同的方式来处理 ArrayLists 的文件?

4

1 回答 1

0

AnArrayListList(由动态数组支持)的实现,它是Objects.

该容器具有非常具体且记录良好的方法,可让您管理元素列表。

为了从列表中检索元素,您需要使用List#get(int)

for(i=0;i<Customer.size();i++)
{
    customerOOS.writeObject(Customer.get(i));
}
for (i = Customer.size(); i < 100; i++) {
    customerOOS.writeObject(null);
}

要添加新元素,您需要使用List#add(Object)

for (i=0;i<100;i++)
{
    Customer.add((Customer)customerOIS.readObject());
}

我会花一些时间研究 API 文档并通读Collections trail,因为这些是非常基本的概念

于 2012-10-16T02:18:09.580 回答