serialVersionUID的自動生成及Kotlin下的建立
阿新 • • 發佈:2019-02-12
為了儘可能的保證反序列化的成功,我們可以指定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
}
}
歡迎批評指正~