RealmObject的Kotlin数据类

我正在使用Kotlin和Realm编写一个数据类

data class AuthToken(val register: Boolean, val token: String, val tokenSecret: String, val user: AuthUser) 

我必须将数据保存到数据库,所以我使用Realm来保存它。 但是据我们所知,如果我想把类保存到Realm中, AuthToken类必须扩展RealmObject

这就是问题所在,Kotlin说数据类不能扩展类。 所以我放弃了数据类,只是使用一个普通的Kotlin类作为模型,然后又出现另一个问题:

Kotlin类没有getter或setter。 正如我们所知,Realm类必须将所有属性设置为private,并写getter和setter。

现在我想知道如何解决这个问题。

Realm目前不支持Data类。 您可以在这里看到如何在Kotlin中编写Realm兼容模型类的示例: https : //github.com/realm/realm-java/tree/master/examples/kotlinExample/src/main/kotlin/io/realm/examples /科特林/模型

 public open class Person( @PrimaryKey public open var name: String = "", public open var age: Int = 0, public open var dog: Dog? = null, public open var cats: RealmList<Cat> = RealmList(), @Ignore public open var tempReference: Int = 0, public open var id: Long = 0 ) : RealmObject() { 

任何类的任何科特林财产都有一个吸气和一个二传手。 所以我相信你的代码应该像你自己的建议一样工作(没有data修饰符)。

https://kotlinlang.org/docs/reference/data-classes.html#data-classes https://kotlinlang.org/docs/reference/java-to-kotlin-interop.html#properties

PS我同意关于这个主题的文件不清楚