シリアライズの基礎
Javaのシリアライズの基本を理解します。Serializableインターフェース、ObjectOutputStream、ObjectInputStreamを扱います。
「シリアライズの基礎」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全3レッスンが含まれています。
導入
シリアライズとは、オブジェクトの状態をファイル(またはストリーム)に保存し、後で復元することです。永続化やオブジェクトの送信によく使用されます。
Serializableインターフェース
オブジェクトをシリアライズできるようにするには、クラスでjava.io.Serializableを実装する必要があります。これはメソッドを持たないマーカーインターフェースです。
コード: Serializableクラス
ここではPersonがSerializableを実装しています。これにより、ObjectOutputStreamで書き込めるようになります。
import java.io.Serializable;
public class Main {
static class Person implements Serializable {
String name;
int age;
Person(String n, int a) { name = n; age = a; }
public String toString() { return name + "(" + age + ")"; }
}
public static void main(String[] args) {
Person p = new Person("Ada", 30);
System.out.println("Created: " + p);
}
}
ObjectOutputStream
ObjectOutputStreamはオブジェクトをファイルに書き込みます。ファイルにはオブジェクトのバイナリ形式が含まれます。
コード: オブジェクトの書き込み
このコードはPersonオブジェクトをperson.serという名前のファイルに書き込みます。
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
}
public static void main(String[] args) {
Person p = new Person("Bob",25);
try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("person.ser"))) {
out.writeObject(p);
System.out.println("Object written");
} catch(IOException e) {
System.out.println("Error: " + e.getMessage());
}
}
}
コード: オブジェクトの読み込み
このコードはファイルからPersonオブジェクトを読み戻し、出力します。
import java.io.*;
public class Main {
static class Person implements Serializable {
String name; int age;
Person(String n,int a){name=n;age=a;}
public String toString(){return name+"("+age+")";}
}
public static void main(String[] args) {
try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("person.ser"))) {
Person p = (Person) in.readObject();
System.out.println("Read: " + p);
} catch(Exception e) {
System.out.println("Error: " + e.getMessage());
}
}
}
シリアライズの確認
クイックチェック:シリアライズ可能にするには、クラスで何を行う必要がありますか。
まとめ
まとめ:シリアライズでは、ObjectOutputStreamでオブジェクトを保存し、ObjectInputStreamで復元します。クラスはSerializableを実装する必要があります。
よくある質問
「シリアライズの基礎」レッスンは無料ですか?
はい。「シリアライズの基礎」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全3レッスンが含まれています。
「シリアライズの基礎」で何を学びますか?
Javaのシリアライズの基本を理解します。Serializableインターフェース、ObjectOutputStream、ObjectInputStreamを扱います。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Java Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「シリアライズの基礎」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJava Academyレッスンでコードを書いて実行できますか?
はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- シリアライズの基礎
- シンプルなCSV/JSON処理
- ファイル走査とユーティリティ