问题描述
假设C
是可序列化的类:
@Serializable
class C
val s = C.serializer()
-
serializer()
调用,带有类型化参数:
val s = serializer<C>()
- KClass实验扩展:
val c = C()
val s1 = C::class.serializer()
val s2 = c::class.serializer()
-
serializer()
半实验超载:
val c = C()
val s1 = serializer(C::class.createType())
val s2 = serializer(c::class.createType())
后两种方法似乎更强大:例如,我可以将其用于多态序列化,以获取抽象类型实例的实际KClass并选择正确的序列化器。
我有几个问题:
- 实际上存在通过类型获取序列化器的哪些方法,并且更可取的是哪种方法?
- 据我了解,我可以为一个类注册几个序列化器,那么在每种情况下我都可以得到哪个?
- 假设我已经使用
@Serializable(with=...)
为类注册了自定义序列化程序,是否可以通过某种方式为其获取标准序列化程序?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)