V6065. A non-serializable class should not be serialized.


Анализатор обнаружил сериализацию объекта, в котором нет реализации интерфейса java.io.Serializable. Для того, чтобы корректно выполнялись операции сериализации и десериализации, необходимо реализовать в классе объекта данный интерфейс.

Рассмотрим некорректный вариант:

class Dog
{
  String breed;
  String name;
  Integer age;
  ....
}
....
Dog dog = new Dog();
....
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(dog);
....

Если дойдет дело до сериализации объекта 'dog', то будет выдано исключение java.io.NotSerializableException. Для того, чтобы все успешно отработало необходимо реализовать интерфейс java.io.Serializable в классе 'Dog'.

Корректный вариант:

class Dog implements Serializable
{
  String breed;
  String name;
  Integer age;
  ....
}
....
Dog dog = new Dog();
....
ObjectOutputStream oos = new ObjectOutputStream(fos);
oos.writeObject(dog);
....

Найденные ошибки

Проверено проектов
344
Собрано ошибок
12 970

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;