1. 程式人生 > >serialVersionUID的自動生成及Kotlin下的建立

serialVersionUID的自動生成及Kotlin下的建立

為了儘可能的保證反序列化的成功,我們可以指定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
    }
}

歡迎批評指正~