在Java中,类可以实现java.io.Serializable
接口以允许对它们进行序列化,并且任何将可序列化数据作为参数接收的方法都将如下所示:
public void foo(Serializable data) {
// ...
}
然而,在Kotlin中,我们没有实现一个接口来指示一个对象是可序列化的,相反,我们在一个类上使用@kotlinx.serialization.Serializable
注解,这意味着没有一个函数可以接受的类型来覆盖任何可序列化的数据。
我可以创建我自己的接口,并在我创建的任何可序列化类型上实现它,但如果我想传递一个我没有写入函数的对象,例如List<T>
或HashMap<K, V>
等,那就行不通了。
有没有办法编写一个可以接收 * 任何 * 类型的可序列化数据的函数?
1条答案
按热度按时间qhhrdooz1#
这取决于你到底需要什么。但你可以有这样的例子: