爲了儘可能的保證反序列化的成功,我們可以指定serialVersionUID,比如1L
private static final long serialVersionUID = 1L;
也可以根據當前類結構自動生成,Android studio自動生成需要設置:
Android studio: Preferences -->Editor -->Inspections-->java--> Serialization issues--> Serializable class withut "serialVersionUID"
勾選上,點擊apply即可。
或者:打開Preferences--> 搜索Serialization
然後在序列化的類上點擊alt+enter
然而……用Kotlin的話,是不能自動生成的。
用Kotlin創建java中serialVersionUID這種靜態常量,需要用伴生對象的成員變量加關鍵字const
實現:
class User : Serializable {
companion object {
private const val serialVersionUID = 5990939387657237756L
}
}
歡迎批評指正~