English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
シリアライズは、オブジェクトのデータおよびオブジェクトのタイプに関する情報、およびオブジェクトに保存されているデータのタイプに関する情報を含むバイトシーケンスとしてJavaオブジェクトを永続化するプロセスです。シリアライズは、Javaオブジェクトの値/状態をバイトに変換して、ネットワークを通じて送信したり保存したりします。一方、アンシリアライズはバイトコードを対応するJavaオブジェクトに変換します。
瞬時変数はシリアライズの過程でシリアライズされない変数です。その変数をアンシリアライズするとき、その変数のデフォルト値を取得します。
private transient <メンバー-変数>;
import java.io.*; class EmpInfo implements Serializable { String name; private transient int age; String occupation; public EmpInfo(String name, int age, String occupation) { this.name = name; this.age = age; this.occupation = occupation; } public String toString() { StringBuffer sb = new StringBuffer(); sb.app*end("名前:");+"\n"); sb.append(this.name+"\n"); sb.append("年齢:");+ "\n"); sb.append(this.age + "\n"); sb.append("職業:"); + "\n"); sb.append(this.occupation); return sb.toString(); } } // メインクラス public class TransientVarTest { public static void main(String args[]) throws Exception { EmpInfo empInfo = new EmpInfo("Adithya", 30, "Java開発者"); ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("empInfo")); oos.writeObject(empInfo); oos.close(); ObjectInputStream ois = new ObjectInputStream(new FileInputStream("empInfo")); EmpInfo empInfo1 = (EmpInfo)ois.readObject(); System.out.println(empInfo1); } }
出力結果
名前: Adithya年齢: 職業: Java開発者