kotlin - Kotlin 数据类是否默认可序列化?

标签 kotlin serialization data-class

了解 Kotlin 后,爱上 data class .
我可以替换具有 equal 的 Java 类和 hashtoString给它。
这些 Java 类中的大多数是 serializable类(class)。所以我的问题是,当我们转换为 data class ,我还需要做吗serializable明确地?像

data class SomeJavaToKotlinClass(val member: String) : Serializable

或者没关系
data class SomeJavaToKotlinClass(val member: String)

最佳答案

不,Kotlin 数据类不会隐式实现此接口(interface)。您可以从 this example 看到:

import java.io.Serializable

data class Foo(val bar: String)

fun acceptsSerializable(s: Serializable) { }

fun main(args: Array<String>) {
    val f: Foo = Foo("baz")
    acceptsSerializable(f)  // Will not compile
}

关于kotlin - Kotlin 数据类是否默认可序列化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61241155/

相关文章:

kotlin - 房间用构造函数生成ID

android - "Lost bytes"通过蓝牙将图像从 ESP32 发送到 Android Studio

java - Kotlin 解构变量不适用于 Pair、Triple 或数据类

interface - 带有接口(interface)样板的 Kotlin 数据类

kotlin - Android BiometricManager 返回 BIOMETRIC_ERROR_NONE_ENROLLED 进行面部识别

c# - 使用 FileStream 创建文件会返回 InvalidOperationException

xml - 使用 VB.net 或 C# 将具有不同 ElementName 的 xml 序列化为同一对象

c# - Upcast/Downcast 和序列化

android - 将具有动态值的 Firebase 数据库转换为 Kotlin 数据类的最佳实践

android - Kotlin + MockIto + Android 插桩测试