我如何在 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 在这方面没有区别,如果您对当前代码感到满意...