web-dev-qa-db-fra.com

Comment implémenter Serializable dans Kotlin pour qu'il fonctionne également en Java?

J'ai du code que j'utilise depuis des années en Java, mais j'en ai besoin dans Kotlin (ses interfaces étendent les interfaces des collections). Certaines classes sont sérialisables. Quand j'essaye l'évidence, j'obtiens "Impossible d'accéder à" Serializable ": il est interne dans kotlin.io":

class Foo(val someField:Int): Serializable {
    companion object {
        private const val serialVersionUID = 20180617104400L
    }
}

Alors, est-ce que j'importe simplement Java.io.Serializable, ou cela causera-t-il d'autres problèmes?

10
GlenPeterson

dois-je simplement importer Java.io.Serializable

Oui. Sachez simplement que Kotlin utilise @Transient annotation au lieu d'un mot-clé.

Bien sûr, Java a ses problèmes, mais il n'y a pas de différence à cet égard entre Kotlin et Java, et si vous êtes satisfait de votre code actuel ...

11
Alexey Romanov