Sobes.tech
Middle

Co zrobić, jeśli musisz zserializować obiekt swojej klasy, ale jedno z jego pól nie może być serializowane?

sobes.tech AI

Odpowiedź od 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 для объектов).