如何在Kotlin中实现Serializable,使其在Java中也能正常工作?

Gle*_*son 12 java serialization kotlin

我有一些在Java中已经使用多年的代码,但是在Kotlin中需要它(它的接口扩展了collections接口)。一些类是可序列化的。当我尝试显而易见的操作时,出现“无法访问'Serializable':它在kotlin.io内部”:

class Foo(val someField:Int): Serializable {
    companion object {
        private const val serialVersionUID = 20180617104400L
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,我只是导入java.io.Serializable,还是会导致其他问题?

Ale*_*nov 14

我只导入java.io.Serializable

是。请注意,Kotlin使用@Transient注释而不是关键字。

当然,Java序列化确实存在问题,但是Kotlin和Java在这方面没有什么区别,并且如果您对当前的代码感到满意...