【发布时间】:2020-11-20 04:38:46
【问题描述】:
import kotlinx.serialization.Serializable
@Serializable
sealed class Exercise(open val id: String) {
@Serializable
data class Theory(override val id: String) : Exercise(id)
}
我的代码中有这样的密封类,编译器告诉我:
Serializable class has duplicate serial name of property 'id', either in the class itself or its supertypes.
有没有办法在可序列化的密封类中打开 val,在覆盖它时可以正常工作?
【问题讨论】:
-
你试过了吗:
data class Theory(id: String):Exercise(id)? -
我不能用数据类这样做(因为构造函数必须只有属性(val / var)参数),但即使我用
class Theory(id: String) : Exercise(id)代替,我也有这个错误:@ 987654325@
标签: kotlin serialization kotlinx.serialization