Я хотел бы знать, почему моя программа читает только 1. элемент из написанных объектов. У меня есть 2 классов:Deserialization of ArrayList читает только один объект
public class Sheet implements Serializable{
int something1;
String something2;
}
следующий:
public class Book implements Serializable{
ArrayList<Sheet> menu = new ArrayList<Sheet>();
public void newSheet(Sheet temp)
{ menu.add(temp);}
}
Сохранение книги (в классе главной книги статична Книга Libro = новая книга();)
ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream ("libro.obiekt"));
out.writeObject(Libro);
out.close();
и чтение :
ObjectInputStream in = new ObjectInputStream(new FileInputStream("libro.obiekt"));
Libro = (Book) in.readObject();
in.close();
Когда Я делаю это, имея, например, 5 объектов в ArrayList внутри Libro, я могу читать только первый, в то время как другие 4 будут NULL-объектами .... Любая идея, что я делаю неправильно?
У вас, вероятно, есть 5 элементов в списке, но 4 последних являются пустым, когда сериализуют книгу. То есть ошибка имеет 99,9999% шанс оказаться в вашем коде. С кодом, который вы опубликовали, объяснить это невозможно. Создайте SSCCE, воспроизводя проблему, и опубликуйте этот SSCCE. –
Ну, я могу дать вам полный код, но есть 5 элементов. Я работаю с ними, могу их распечатать, но когда я их сохраняю, а потом загружаю в свою программу, я вижу только первый из них, но другие - NULL. –
Создайте самую маленькую полную программу, которую вы могли бы себе представить, и воспроизводите ее здесь. –