web-dev-qa-db-fra.com

Que signifie le mot clé "transitoire" en Java?

J'ai vu quelque part


transient private TrackDAO trackDAO;
176
user562350

Google est votre ami - premier coup - vous pouvez aussi commencer par regarder ce que sérialisation est.

Il marque une variable membre à ne pas sérialiser lorsqu'elle est persistée dans les flux d'octets. Lorsqu'un objet est transféré via le réseau, il doit être "sérialisé". La sérialisation convertit l'état de l'objet en octets série. Ces octets sont envoyés sur le réseau et l'objet est recréé à partir de ces octets. Les variables membres marquées par le mot clé Java transitoire ne sont pas transférées, elles sont perdues intentionnellement.

Exemple à partir de là, légèrement modifié (merci @pgras):

public class Foo implements Serializable
 {
   private String saveMe;
   private transient String dontSaveMe;
   private transient String password;
   //...
 }
254
schnaader

Les variables transitoires dans Java ne sont jamais sérialisées.

30
Deepak

Cela signifie que trackDAO ne doit pas être sérialisé.

10
Erik