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(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^
コメント