我如何在 Kotlin 中实现 Serializable 以便它也适用于 Java?
How do I implement Serializable in Kotlin so it also works in Java?
我有一些代码,我在 Java 中使用了多年,但在 Kotlin 中需要它(它的接口扩展了集合接口)。一些 类 是可序列化的。当我尝试显而易见的事情时,我得到 "Cannot access 'Serializable': it is internal in kotlin.io":
class Foo(val someField:Int): Serializable {
companion object {
private const val serialVersionUID = 20180617104400L
}
}
那么,我是直接导入 java.io.Serializable,还是会导致其他问题?
do I just import java.io.Serializable
是的。请注意,Kotlin 使用 @Transient
注释而不是关键字。
当然,Java 序列化确实有它的问题,但 Kotlin 和 Java 在这方面没有区别,如果您对当前代码感到满意...
我有一些代码,我在 Java 中使用了多年,但在 Kotlin 中需要它(它的接口扩展了集合接口)。一些 类 是可序列化的。当我尝试显而易见的事情时,我得到 "Cannot access 'Serializable': it is internal in kotlin.io":
class Foo(val someField:Int): Serializable {
companion object {
private const val serialVersionUID = 20180617104400L
}
}
那么,我是直接导入 java.io.Serializable,还是会导致其他问题?
do I just import java.io.Serializable
是的。请注意,Kotlin 使用 @Transient
注释而不是关键字。
当然,Java 序列化确实有它的问题,但 Kotlin 和 Java 在这方面没有区别,如果您对当前代码感到满意...