user2243349
user2243349

Reputation: 17

not serializable exception while trying to writeObject from an array

I am getting a NotSerializableException while running an application file trying to write an object to a .dat file.

    try{
        Person[] personList = new Person[3];
        personList[0] = new TeamLeader(8, "Mike Johnson", 29);
        personList[1] = new Engineer(0.4,"Russell Sanders", 22);
        personList[2] = new Engineer(0.7, "Steven Peterson", 25);
        out = new ObjectOutputStream(new FileOutputStream("persons.dat"));
        for(int i = 0; i < personList.length; i++) {
            out.writeObject(personList[i]);//error line 85
        }
        //out.writeObject(personList);
    }

    catch(IOException e) {
        System.out.println("Problem writing file");
        e.printStackTrace();
    } 

error

java.io.NotSerializableException: TeamLeader
     at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1180)
     at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java: 346)
     at CharlieBrownP6.main(CharlieBrownP6.java: 85)

error goes on to about writing aborted for the same error

Upvotes: 1

Views: 1985

Answers (1)

Kirby
Kirby

Reputation: 3709

The objects calling writeObject must implement the Serializable interface (reference).

Upvotes: 2

Related Questions