所以基本上,我有一些超级课程,他们的几个子课程组成了一个小程序。至于文件处理,由于我使用的是“数组”,我使用了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文件?
答案 0 :(得分:0)
ArrayList
是List
的实现(由动态数组支持),它是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跟踪,因为这些是非常基本的概念