为了尽可能的保证反序列化的成功,我们可以指定serialVersionUID,比如1L
1 | private static final long serialVersionUID = 1L; |
也可以根据当前类结构自动生成,Android studio自动生成需要设置:
1 | Android studio: Preferences -->Editor -->Inspections-->java--> Serialization issues--> Serializable class withut "serialVersionUID" |
然后在序列化的类上点击alt+enter
然而……用Kotlin的话,是不能自动生成的。
用Kotlin创建java中serialVersionUID这种静态常量,需要用伴生对象的成员变量加关键字const
实现:
1 | class User : Serializable { |