@ZmeuSnake

Почему не сериализуется объект?

Есть класс
public class LinkedListVector implements Vector, Serializable
{
    private class Node
    {
        double value;
        Node next, prev;
    }
    private Node beg;
    private int size = 0;
    private Node current = beg;
    LinkedListVector(){...}
    private Node getEl(int index) throws VectorIndexOutOfBoundsException{...}
    public double get(int number) throws VectorIndexOutOfBoundsException{...}
    public void get(int number, double value) throws VectorIndexOutOfBoundsException{...}
    void add(double _value) {...}
    void del(int index) throws VectorIndexOutOfBoundsException {...}
    public void print(){...}
    public int getLength(){...}
    public double norma(){...}
}


В мейне пробую сериализовать:
LinkedListVector test = new LinkedListVector();
test.add(1);
test.add(2);
test.add(3);
test.add(4);
test.add(5);
FileOutputStream fos = new FileOutputStream(filePath);
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(test);
oos.flush();
oos.close();


В результате ошибка:
2f6514e0f363416a8f0121422c356f5b.jpg

Есть еще другой класс
public class ArrayVector implements Vector, Serializable
{
    private int length;
    private double [] arr;

    //и дальше идут методы
    // ...

и сериализация объектов ArrayVector работает нормально.

Почему не работает сериализация объектов LinkedListVector?
  • Вопрос задан
  • 248 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Учитесь читать стек-трейсы. Там прямо написано, что внутренний класс Node не является Serializable, хотя должен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы