Javaの直列化・シリアライズ・serialVersionUID
Javaで直列化という言葉をよく聞きますが、これはファイルへ保存(永続化)することが可能ですという意味です。(直列化=シリアライズ)
Serializableインタフェースをimplementする
では直列化可能なクラスはどうやって定義するかというと、java.io.Serializableインタフェースをimplementする必要があります。
class Hoge implements Serializable {
private static final long serialVersionUID = -1826347656655013634L;
private String name;
Hoge(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
serialVersionUID
直列化可能なクラスではserialVersionUIDを設定する必要があります。
これは直列化可能なクラスのバージョンを管理する為で、違う値の場合、デシリアイズ(ファイルからインスタンスを復元)する際にエラーが発生してしまいます。

KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES20xx),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^


コメント