-2

基本的に、これらのいくつかのスーパークラスがあり、それらのいくつかのサブクラスが小さなプログラムを形成しています。ファイルの扱いについては、「Arrays」を使っていたので、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

Anは、のコンテナーである (動的配列によってサポートされる)ArrayListの実装です。ListObjects

このコンテナには、要素のリストを管理できる非常に具体的で適切に文書化されたメソッドがあります。

リストから要素を取得するには、使用する必要があります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 ドキュメントを調べ、コレクショントレイルを読みます。

于 2012-10-16T02:18:09.580 に答える