Note that there are some explanatory texts on larger screens.

plurals
  1. POError in : java.io.InvalidClassException
    text
    copied!<p>I am working on this and getting this error cannot put my finger on the error:</p> <p>This my class:</p> <pre><code>package stdaccmdmngmt; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.swing.JOptionPane; /** * * @author princess */ public class Student1 implements Serializable { public static Set&lt;Student1&gt; listOfStudents = new HashSet&lt;Student1&gt;(); public static File outFile = new File("StudentRegistry.dat"); // Data memebers private String studentID; private String name; private Date dateOfReg; //Constructor Student1(String number,String name) { this.studentID = number; this.name = name; dateOfReg = new Date(); } public String getName() { return name; } public String getStudentID() { return studentID; } public Date getDateOfReg() { return dateOfReg; } public void register() throws FileNotFoundException, IOException, ClassNotFoundException { Set&lt;Student1&gt; sss = new HashSet&lt;Student1&gt;(); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(outFile)); oos.writeObject(sss); oos.close(); } public static HashSet&lt;Student&gt; getListOfStudents() throws FileNotFoundException, IOException, ClassNotFoundException { HashSet ss; File inFile = new File("StudentRegistry.dat"); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(inFile)); Set&lt;Student&gt; aNewSet = (HashSet&lt;Student&gt;) ois.readObject(); return (HashSet&lt;Student&gt;) aNewSet; } public static Student getStudentbyID(String a) throws FileNotFoundException, IOException, ClassNotFoundException { Set&lt;Student&gt; aNewSet = new HashSet&lt;Student&gt;(); aNewSet = Student.getListOfStudents(); Student result = null; for (Student x :aNewSet) { if (x.getStudentID().equalsIgnoreCase(a)) { result = x; break; } } if (result == null) { JOptionPane.showMessageDialog(null, "Apartment not found"); } return result; } @Override public String toString() { // include the code to retrieve assigned apartment return "Name: " + name +" StudentID: "+ studentID + " Registered On: " + dateOfReg; } @Override public boolean equals(Object another) { Student1 stud = (Student1)another; return this.name.equals(stud.name)&amp;&amp; this.studentID.equals(stud.studentID); } @Override public int hashCode() { int hash = name.hashCode(); return hash; } } </code></pre> <p>and this is the testing Class :</p> <pre><code>package stdaccmdmngmt; import java.io.FileNotFoundException; import java.io.IOException; import java.util.HashSet; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author princess */ public class Test { public static void main (String[]args) throws FileNotFoundException, ClassNotFoundException, IOException { Student1 s = new Student1("12345","Sasha"); try { s.register(); } catch (FileNotFoundException ex) { Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); } catch (ClassNotFoundException ex) { Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex); } Set&lt;Student&gt; nnn; nnn = Student.getListOfStudents(); for (Student x : nnn) System.out.println(x.toString()); } } * @author princess */ public class Student1 implements Serializable { public static Set&lt;Student1&gt; listOfStudents = new HashSet&lt;Student1&gt;(); public static File outFile = new File("StudentRegistry.dat"); // Data memebers private String studentID; private String name; private Date dateOfReg; //Constructor Student1(String number,String name) { this.studentID = number; this.name = name; dateOfReg = new Date(); } public String getName() { return name; } public String getStudentID() { return studentID; } public Date getDateOfReg() { return dateOfReg; } public void register() throws FileNotFoundException, IOException, ClassNotFoundException { Set&lt;Student1&gt; sss = new HashSet&lt;Student1&gt;(); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(outFile)); oos.writeObject(sss); oos.close(); } public static HashSet&lt;Student&gt; getListOfStudents() throws FileNotFoundException, IOException, ClassNotFoundException { HashSet ss; File inFile = new File("StudentRegistry.dat"); ObjectInputStream ois = new ObjectInputStream(new FileInputStream(inFile)); Set&lt;Student&gt; aNewSet = (HashSet&lt;Student&gt;) ois.readObject(); return (HashSet&lt;Student&gt;) aNewSet; } public static Student getStudentbyID(String a) throws FileNotFoundException, IOException, ClassNotFoundException { Set&lt;Student&gt; aNewSet = new HashSet&lt;Student&gt;(); aNewSet = Student.getListOfStudents(); Student result = null; for (Student x :aNewSet) { if (x.getStudentID().equalsIgnoreCase(a)) { result = x; break; } } if (result == null) { JOptionPane.showMessageDialog(null, "Apartment not found"); } return result; } @Override public String toString() { // include the code to retrieve assigned apartment return "Name: " + name +" StudentID: "+ studentID + " Registered On: " + dateOfReg; } @Override public boolean equals(Object another) { Student1 stud = (Student1)another; return this.name.equals(stud.name)&amp;&amp; this.studentID.equals(stud.studentID); } @Override public int hashCode() { int hash = name.hashCode(); return hash; } } </code></pre> <p>...........................</p> <p>and I am getting this error :</p> <pre><code>run: Exception in thread "main" java.io.InvalidClassException: stdaccmdmngmt.Student; local class incompatible: stream classdesc serialVersionUID = -3040096452457271695, local class serialVersionUID = -4849175799723926283 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at java.util.HashSet.readObject(HashSet.java:291) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at stdaccmdmngmt.Student.getListOfStudents(Student.java:76) at stdaccmdmngmt.Test.main(Test.java:34) Java Result: 1 BUILD SUCCESSFUL (total time: 3 seconds) </code></pre> <p>Any help?</p> <p>Thanks in advance :)</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload