首页 > 解决方案 > 无效的类异常

问题描述

我的应用程序正常工作,在我将名字改为英文版后,我得到了InvalidClassEception。我该如何解决?我找到了一些关于它的信息,但我不明白我该如何解决它。一些帮助?这是我的代码:

public class Serializare {
    //private static final long serialVersionUID = 1L;
    public void serialize(Bank bank, String fileName) {
        try (ObjectOutputStream out = new ObjectOutputStream(
                new FileOutputStream(fileName))) {
            out.writeObject(bank);
        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }

    public Bank deserializeW(String fileName){
        Bank bank = null;
        try (ObjectInputStream in = new ObjectInputStream(new FileInputStream(
                fileName))) {
            bank = (Bank) in.readObject();
        } catch (IOException | ClassNotFoundException ex) {
            ex.printStackTrace();

        }
        return bank;
    }
}

public class Bank implements BankProc, Serializable {

    /**
     * 
     */
    //private static final long serialVersionUID = -7029959057180382645L;
    private Hashtable<Integer, Account> bank;

    ...

}

我的错误是

java.io.InvalidClassException: Bank.Bank; local class incompatible: stream classdesc serialVersionUID = -7029959057180382645, local class serialVersionUID = -2329932680711902869

标签: javaserializationjava-io

解决方案


您试图用给定的类序列化一个类并用另一个反序列化serialVersionUID 它。

看看什么是 serialVersionUID


推荐阅读