久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

java對象序列化的方法有哪些

178次閱讀
沒有評論

共計 1109 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。

Java 對象序列化的方法有以下幾種:

  1. 實現(xiàn) Serializable 接口:該接口是 Java 提供的序列化接口,只需要讓類實現(xiàn)該接口即可實現(xiàn)序列化。這是最常用的方法。
public class MyClass implements Serializable {// ...}
  1. 實現(xiàn) Externalizable 接口:該接口同樣是 Java 提供的序列化接口,但需要自己實現(xiàn)序列化和反序列化的方法。
public class MyClass implements Externalizable {
@Override
public void writeExternal(ObjectOutput out) throws IOException {// ...}
@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {// ...}
}
  1. 使用 ObjectOutputStream 和 ObjectInputStream 類:這兩個類提供了方法將 Java 對象序列化為字節(jié)流,或?qū)⒆止?jié)流反序列化為 Java 對象。
// 序列化
MyClass obj = new MyClass();
try (FileOutputStream fileOut = new FileOutputStream("file.ser");
ObjectOutputStream out = new ObjectOutputStream(fileOut)) {out.writeObject(obj);
}
// 反序列化
try (FileInputStream fileIn = new FileInputStream("file.ser");
ObjectInputStream in = new ObjectInputStream(fileIn)) {MyClass obj = (MyClass) in.readObject();}
  1. 使用 JSON 序列化庫:除了 Java 自帶的序列化方式,還可以使用第三方庫如 Gson、Jackson 等將 Java 對象序列化為 JSON 字符串,或?qū)?JSON 字符串反序列化為 Java 對象。
// 序列化為 JSON 字符串
MyClass obj = new MyClass();
String json = new Gson().toJson(obj);
// 反序列化為 Java 對象
MyClass obj = new Gson().fromJson(json, MyClass.class);

需要注意的是,如果一個類的父類實現(xiàn)了 Serializable 接口,則子類自動實現(xiàn)了 Serializable 接口。同時,被 transient 修飾的字段不會被序列化。

丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-12-21發(fā)表,共計1109字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 资源县| 浮梁县| 龙南县| 余庆县| 定远县| 玛纳斯县| 彰化市| 法库县| 海门市| 睢宁县| 施甸县| 甘肃省| 淳化县| 林口县| 台南市| 福州市| 榆社县| 修水县| 东兰县| 昔阳县| 营口市| 江西省| 金堂县| 伊吾县| 丰宁| 舒兰市| 阳泉市| 炎陵县| 西昌市| 饶平县| 阳春市| 宜黄县| 延津县| 聊城市| 馆陶县| 麟游县| 永春县| 潞西市| 丽水市| 兴海县| 漳州市|