2013-02-09 3 views
0

У меня есть объект типа Restaurant под названием myRestaurant, который содержит EmployeesAList, MenuAList и OrdersAList, каждый из которых хранит экземпляры объектов Employee, Menu_Item и Order. Каждый экземпляр Order хранит целые числа, строки и arraylist целых чисел.Сохранение объекта, который содержит arraylists в arraylists

Когда я сохраняю myRestaurant, каждый arraylist сохраняется, за исключением arraylist, который находится в классе Orders.

Любые предложения?

метод сохранения в Бегуне

public boolean SaveToFile(Restaurant myrest) 
{ 
    try 
    { 
     File outFile = new File("etrest.rest"); 
     //creates object representing file 

     FileOutputStream outFileStream = new FileOutputStream(outFile); 
     //connection between program and file 

     ObjectOutputStream outObjectStream = new ObjectOutputStream(outFileStream); 
     //class which is used to pass objects which will be saved to file 

     //Write serializable ArrayList to file 
     outObjectStream.writeObject(myrest);   

     //output done, so close the stream 
     outObjectStream.close(); 
     return true; 
    } 
    catch(IOException IOE) 
    { 
     System.out.println(IOE.toString()); //debug purpose 
     return false;   
    } 
} 

метод в ресторане добавить Заказать

ArrayList OrdersAList = новый ArrayList();

public void AddOrder(Order o) 
{ 
    OrdersAList.add(o); 
} 

часть класса порядка ArrayList Menu_ItemsIDAList = новый ArrayList();

public Order() 
{ 
    paid = false; 
    WaiterNo = 0; 
    TableNo = 0; 
    item = 0; 
} 

public Order(boolean pd, int wN, int tN, int it) 
{ 
    paid  = pd; 
    WaiterNo = wN; 
    TableNo = tN; 
    item  = it; 
} 

//MENU ITEMS ENTERED PER ORDER 
public void AddMenu_ItemID(int item) 
{ 
    Menu_ItemsIDAList.add(item); 
} 

когда я создаю экземпляр ордена создать цикл, чтобы заселить Menu_ItemsIDAList

+1

Покажите нам наш код. – MrSmith42

+1

Как вы «сохраняете» свой объект myRestaurant? – Simon

+0

Код, пожалуйста, это слишком общий вопрос –

ответ

0

Я не могу точно восстановить вашу проблему ...

You/мы должны иметь лучший обзор где ваши списки будут сохранены точно, и где ваш «добавить» -метод? В каком классе ...

Поэтому я рекомендую вам составить схему. В вашем случае диаграмма класса UML (http://en.wikipedia.org/wiki/Class_diagram).

После того, как вы понимаете классы, атрибуты и отношения, вы можете нарисовать такую ​​диаграмму и можете использовать код надлежащим образом.

Конечно, мы могли бы дать вам быстрое решение, «что-то не хватает» ... но для будущего развития вы должны понимать основы объектно-ориентированного программирования. Схемы использования UML и диаграмм использования UML также являются хорошим началом ...

+0

но правильная ли концепция? т.е. если у меня есть arraylists, хранящийся в Ресторане, и один из тех arraylists содержит в нем arraylist, и я создаю экземпляр ресторана в бегуне и сохраняю/загружаю этот экземпляр ресторана от бегуна. при загрузке сохраняются другие атрибуты Order; это просто аррайалист, который исчезает. –