Недопустимое исключение класса - PullRequest
0 голосов
/ 17 мая 2018

Мое приложение работало, и после того, как я изменил свои имена на английскую версию, я получил 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 голосов
/ 17 мая 2018

Вы пытались сериализовать класс с данным serialVersionUID и десериализовать его с другим.

См. Что такое serialVersionUID .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...