【问题标题】:List<Object> Or RealmList<RealmObject> on Realm AndroidRealm Android 上的 List<Object> 或 RealmList<RealmObject>
【发布时间】:2015-05-07 10:03:02
【问题描述】:

我需要一个使用 Realm 的list&lt;Object&gt;。我试过RealmList&lt;RealmObject&gt; 但它不起作用,因为RealmObject 是抽象的。

【问题讨论】:

  • 你能解释一下这些行吗:“我尝试了 RealmList 但它不起作用,因为 RealmObject 它是抽象的”。
  • 我需要 List 但 Realm 不支持它,所以我的问题是:如果 Realm 上有任何等效的 List,甚至,我尝试过 RealmList 但它不是工作
  • 我不知道 Realm 但 RealmList> 可以解决你的问题。
  • RealmList&lt;? extends RealmObject&gt; 怎么样?
  • 谢谢,但它正在工作,因为在我需要从带有索引的模型中添加对象之后,它迫使我改变?到我的对象。

标签: java android realm


【解决方案1】:

来自Realm的Christian。您只能在 Realm 中保存扩展 RealmObject 的对象。这是因为 Realm 不是无模式数据库。我们确实需要一个模式,并且该模式由扩展 RealmObject 的对象定义。我们使用 RealmList 是因为它抽象了与底层核心数据库的通信,但它实现了 List 接口。

这意味着

public class Foo extends RealmObject {
  private List<Object> objects;  // not legal
  private RealmList<Object> objects;  // not legal 
  private RealmList<RealmObject> objects; // not legal
}

public class Foo extends RealmObject {
  private RealmList<Foo> objects; // legal
}

List<Foo> reference = foo.getObjects(); // Legal

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多