kotlin @RawValue标注不适用于目标值参数

bf1o4zei  于 2022-12-27  发布在  Kotlin
关注(0)|答案(1)|浏览(292)

我正在尝试Parcelize一个数据类。它包含一个参数:

var tokenType: Any? = null

对于此变量,编译器在编译时抱怨:

Type is not directly supported by Parcelize. 
Annotate the parameter with @RawValue if you want it to be serialized via 
writeValue()

虽然错误是不言自明的,但当我像这样添加@RawValue时:

@RawValue var tokenType: Any? = null

它给出一个错误:

This annotation is not applicable to the target value parameter

有什么建议可以告诉你怎么处理吗?

368yc8dk

368yc8dk1#

我从Kotlang社区得到了这个问题的答案。答案是你不能注解变量本身,但你必须注解它的类型。
因此,以下面的方式进行注解可以消 debugging 误:

var tokenType: @RawValue Any? = null

不过,不要忘记手动为该属性编写序列化器/反序列化器,因为它不会自动完成。

相关问题