Rumah  >  Soal Jawab  >  teks badan

java - fastjson 与 serialVersionUID 如何建立关系?

如果使用 fastjson 作为序列化方法,那么即使类实现了 Serializable 接口,其中的 serialVersionUID 似乎也没什么用。

怎么能让 serialVersionUID 起作用,用来防止将内容反序列化的时候类型不符。

伊谢尔伦伊谢尔伦2766 hari yang lalu838

membalas semua(3)saya akan balas

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:58:38

    Serializable 是针对于ObjectInput(Output)Stream来使用的。实现此接口的对象都会有一个。
    serialVersionUID的常量。
    而fastJson的序列话是将一个对象“变成”一个json文件的。如果实现了Serializable 接口的话,其中会有serialVersionUID这个属性的。
    可以在序列化的时候保存当前对象的serialVersionUID值。再此反序列话的时候检测是否与上次保存的值相等。这时就能判断是不是同一个对象了。
    ——————java新手,不对轻喷

    balas
    0
  • PHP中文网

    PHP中文网2017-04-17 13:58:38

    fastjson的序列化和反序列化都不需要做特别配置,唯一的要求是,你序列化的类符合java bean规范。

    https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E...

    balas
    0
  • ringa_lee

    ringa_lee2017-04-17 13:58:38

    如果对象 equals 方法不重写,比较结果是不相等的,比较的是内存地址。

    balas
    0
  • Batalbalas