0Pricing
Java Academy · レッスン

シリアライズの基礎

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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. シリアライズの基礎
  2. シンプルなCSV/JSON処理
  3. ファイル走査とユーティリティ
← Java Academyに戻る