【问题标题】:necessity of serialVersionUID in Kotlin when developing for Android为 Android 开发时 Kotlin 中 serialVersionUID 的必要性
【发布时间】:2019-03-08 12:22:42
【问题描述】:
我在内部讨论了在 Kotlin 中编码时对 serialVersionUID 的要求,特别是针对 Android 平台。在 Java 中,我们总是添加它,因为 Android Studio 让它变得非常简单。但是,对 Kotlin 没有任何帮助。这让我们质疑 Kotlin 中对 serialVersionUID 的要求。
您对此有何看法;
- 是否有可能出现问题的情况?
- 您是否还添加了 serialVersionUID(大概作为伴随对象)?
我很想听听你的意见。
【问题讨论】:
标签:
android
android-studio
kotlin
serialversionuid
【解决方案1】:
serialVersionUID 仅用于 Java 序列化 (java.io.Serializable)。大多数 Android 应用程序使用 Android 特定的序列化 (Parcelable),因为它更高效。如果您的应用程序不使用 Java 序列化,那么在您的类中包含 serialVersionUID 没有任何好处,无论您使用的是 Java 还是 Kotlin。
【解决方案2】:
如果你坚持使用Serializable类,这个是必须的,这是为了防止属性改变导致反序列化失败的问题。现在您可以使用 Android Studio 中的插件自动生成默认的 Serial Version UID,如 Java。插件地址在这里:Generateserialversionuid。