web-dev-qa-db-ja.com

Javaでキーワード "transient"はどういう意味ですか?

どこかで見た


transient private TrackDAO trackDAO;
175
user562350

Googleはあなたの友達です- 最初のヒット -また、最初に何を見るかもしれません シリアライゼーション です。

バイトのストリームに永続化されている場合、シリアル化されないメンバー変数をマークします。オブジェクトがネットワークを介して転送されるとき、オブジェクトは「シリアル化」される必要があります。シリアル化は、オブジェクトの状態をシリアルバイトに変換します。これらのバイトはネットワーク経由で送信され、オブジェクトはそれらのバイトから再作成されます。 Java transientキーワードでマークされたメンバー変数は転送されず、意図的に失われます。

そこからの例、わずかに変更(@pgrasに感謝):

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

Javaの一時変数はシリアル化されません。

30
Deepak

trackDAOをシリアル化しないでください。

10
Erik