如果使用 fastjson 作为序列化方法,那么即使类实现了 Serializable 接口,其中的 serialVersionUID 似乎也没什么用。
怎么能让 serialVersionUID 起作用,用来防止将内容反序列化的时候类型不符。
小伙看你根骨奇佳,潜力无限,来学PHP伐。
Serializable 是針對ObjectInput(Output)Stream來使用的。實作此介面的物件都會有一個。 serialVersionUID的常數。 而fastJson的序列話是將一個物件「變成」一個json檔的。如果實作了Serializable 介面的話,其中會有serialVersionUID這個屬性的。 可以在序列化的時候保存目前物件的serialVersionUID值。再此反序列話的時候檢測是否與上次儲存的值相等。這時就能判斷是不是同一個對象了。 ——————java新手,不對輕噴
fastjson的序列化和反序列化都不需要做特別配置,唯一的要求是,你序列化的類別符合java bean規格。
https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E...
如果物件 equals 方法不重寫,比較結果是不相等的,比較的是記憶體位址。
equals
Serializable 是針對ObjectInput(Output)Stream來使用的。實作此介面的物件都會有一個。
serialVersionUID的常數。
而fastJson的序列話是將一個物件「變成」一個json檔的。如果實作了Serializable 介面的話,其中會有serialVersionUID這個屬性的。
可以在序列化的時候保存目前物件的serialVersionUID值。再此反序列話的時候檢測是否與上次儲存的值相等。這時就能判斷是不是同一個對象了。
——————java新手,不對輕噴
https://github.com/alibaba/fastjson/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E...
如果物件
equals
方法不重寫,比較結果是不相等的,比較的是記憶體位址。