185 votes

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

J'ai vu quelque part

transient private TrackDAO trackDAO;

268voto

schnaader Points 26212

Google est votre ami - premier coup - vous pourriez aussi regarder d'abord ce que sérialisation est.

Il marque une variable membre qui ne doit pas être sérialisée lorsqu'elle est persistée dans flux d'octets. Lorsqu'un objet est transféré par le réseau, l'objet doit être objet doit être "sérialisé". La sérialisation convertit l'état de l'objet en octets sériels. Ces octets sont envoyés sur le réseau et l'objet est recréé à partir de ces octets. Membre marquées par le mot-clé java transient 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;
   //...
 }

32voto

Deepak Points 836

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

10voto

Erik Points 38942

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X