Sobes.tech
Middle

Какво да направите, ако трябва да сериализирате обект от вашия клас, но едно от неговите полета не може да бъде сериализирано?

sobes.tech AI

Отговор от AI

С използването на анотацията @Transient или ключовата дума transient.

public class MyObject implements Serializable {
    private int id;
    private String name;
    private transient NonSerializableField nonSerializableField; // Поле, което не трябва да се сериализира
    // или
    // @Transient // Ако се използва друга библиотека за сериализация
    // private NonSerializableField nonSerializableField;

    // Гетъри и сетъри
    // ...
}

При използване на @Transient или transient по време на сериализация, полето nonSerializableField ще бъде игнорирано и няма да бъде запазено в потока от данни. При десериализация това поле ще има стойност по подразбиране (null за обекти).