Десериализация объекта содержащего ImageIcon

109
15 июня 2019, 19:40

Имеется следующий класс

public class Man implements Serializable{
    private HashMap <String,String>manMap;
    private ArrayList<Relative>relatives;
    private ImageIcon image;
    public ImageIcon getImage() {
        return image;
    }
    public void setImage(ImageIcon image) {
        this.image = image;
    }
    public HashMap<String, String> getManMap() {
        return manMap;
    }
    public void setManMap(HashMap<String, String> manMap) {
        this.manMap = manMap;
    }
    public ArrayList<Relative> getRelatives() {
        return relatives;
    }
    public void setRelatives(ArrayList<Relative> relatives) {
        this.relatives = relatives;
    }
    private class Relative
    {
        String stepenRodstva;
        String family;
        String name;
        String fatherName;
        String dataRozhdenia;
        String osnovanie;
        @Override
        public String toString() {
            String result=this.stepenRodstva+" - "+this.family+" "+this.name+" "+this.fatherName+", "+dataRozhdenia+" г.р.";
            return result;
        }
    }
}

Проблема состоит в том, что когда поле ImageIcon image принимает какое-либо значение, то класс сериализуется, но при десириализации появляется следующая ошибка:

java.io.InvalidClassException: model.Man; local class incompatible: stream classdesc serialVersionUID = 6154109234569074007, local class serialVersionUID = 8310868017795585876 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431) at model.FileSystemModel.manLoader(FileSystemModel.java:35) at view.StartPage$MenuListener.actionPerformed(StartPage.java:213)

Подскажите в чем проблема.

READ ALSO
Как добавить картинку в Circle?

Как добавить картинку в Circle?

Спрашивал на английском форуме, там сказали, что дубликат вопроса: Вот

156
Почему для работы нативных методов не нужны C++ библиотеки? [закрыт]

Почему для работы нативных методов не нужны C++ библиотеки? [закрыт]

В JVM есть нативные методы - код, написанный на C++Тогда почему для работы JVM не нужны библиотеки, требующиеся для работы C++?

145
Передача данных по wifi [закрыт]

Передача данных по wifi [закрыт]

Нужно организовать общение raspberry Pi по wifi с android приложениемКаким образом лучше организовать передачу данных по wifi на android?

130