Sobes.tech
Назад к вопросам
Middle
85
questionbank

Как поступить, если необходимо сериализовать объект вашего класса, но одно из его полей не подлежит сериализации?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Аннотацией @Transient или ключевым словом transient.

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

    // Getters and setters
    // ...
}

При использовании @Transient или transient во время сериализации поле nonSerializableField будет проигнорировано, и оно не будет сохранено в потоке данных. При десериализации это поле будет иметь значение по умолчанию (null для объектов).