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 за обекти).