Класс Kotlin данных сериализуем по умолчанию? - PullRequest
0 голосов
/ 16 апреля 2020

Узнав Kotlin, полюбите data class. Я мог бы заменить Java классы с equal и hash и toString. Большинство из этих Java классов serializable класса. Так что мой вопрос: когда мы конвертируем в data class, нужно ли мне делать это явно serializable? как

data class SomeJavaToKotlinClass(val member: String) : Serializable

Или это нормально -

data class SomeJavaToKotlinClass(val member: String)

1 Ответ

2 голосов
/ 16 апреля 2020

Нет, Kotlin классы данных неявным образом не реализуют этот интерфейс. Вы можете видеть из этот пример :

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
}
...