Sobes.tech
Middle

Que faire si vous devez sérialiser un objet de votre classe, mais l'un de ses champs ne peut pas être sérialisé?

sobes.tech IA

Réponse de l'IA

Avec l'annotation @Transient ou le mot-clé transient.

public class MyObject implements Serializable {
    private int id;
    private String name;
    private transient NonSerializableField nonSerializableField; // Champ à ignorer lors de la sérialisation
    // ou
    // @Transient // Si une autre bibliothèque de sérialisation est utilisée
    // private NonSerializableField nonSerializableField;

    // Getters et setters
    // ...
}

En utilisant @Transient ou transient lors de la sérialisation, le champ nonSerializableField sera ignoré et ne sera pas sauvegardé dans le flux de données. Lors de la désérialisation, ce champ aura la valeur par défaut (null pour les objets).