Después de conocer Kotlin, ama la data class . Podría reemplazar las clases de Java que tienen equal y hash y toString . La mayoría de estas clases de Java son clases serializable . Entonces, mi pregunta es, cuando convertimos a data class , ¿todavía necesito hacerlo serializable explícitamente? me gusta
data class SomeJavaToKotlinClass(val member: String) : SerializableO está bien ser
data class SomeJavaToKotlinClass(val member: String)No, las clases de datos de Kotlin no implementan implícitamente esta interfaz. Puedes ver en este ejemplo :
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 }Tuve que agregar : Serializable al final de la clase para hacer es Serializable. Justo como esto
class SizeVariantModel (val price: Double, val discountedPrice: Double?) : Serializable class ColorVariantModel (val name: String, val colorCode: String) : Serializable También tuve que importar Serializable
import java.io.Serializable