2013/09/13

java transient

フィールドの定義にtransientを付けると、Serializableをimplementsしたクラスであっても
そのフィールドはシリアライズの対象外になる。
受け渡しには使わないが一時的に使うフィールド等に利用する。

    public transient final String TEST = "abc";

また、staticなフィールドもシリアライズの対象外となる。

なぜなら、staticなフィールドの値は 該当クラスが存在しているJavaVM内で共通な為。
つまり復元する時に、staticフィールドは復元先VMのクラスの値がそのまま使われる