无效的类异常

时间:2018-05-17 19:11:53

标签: java serialization java-io

我的应用有效,在我将名字改为英文版后,我得到了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

1 个答案:

答案 0 :(得分:1)

您尝试使用给定的serialVersionUID序列化一个类,并使用另一个类对其进行反序列化。

请参阅what is a serialVersionUID