Java – serialize the object containing the ArrayList object
•
Java
public class User implements Serializable{
public class User implements Serializable{
public String name;
public String surname;
public List<Picked> pickedBooks = new ArrayList<>();
// Code omitted.
}
Then go to class:
public class Picked {
public Book book;
public int period;
public int cost;
// Code omitted.
}
And class books:
public class Book {
public String name;
public String bookTitle;
public int howMany;
// Code omitted.
}
So in the main, I create a new user and serialize it:
User user = new User();
user.setName("John");
user.setSurname("James");
String fileName = "data.bin";
try (ObjectOutputStream os = new ObjectOutputStream(new FileOutputStream(fileName))) {
os.writeObject(user);
} catch (IOException ex) {
Logger.getLogger(Library.class.getName()).log(Level.SEVERE,null,ex);
}
Everything is perfect, but if I do this:
Book book = new Book("Dan Brown","Angels and Demons",1);
Picked pck = new Picked(book,20,2);
user.add(pck);
Then I wanted to serialize the user object, and the program crashed The output I get is:
Solution
Picked and book also need to implement serializable
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码
