【问题标题】:Realm objects overriden equals method领域对象覆盖equals方法
【发布时间】:2016-05-09 16:41:17
【问题描述】:

ObjectA 的模型如下所示:

public class ObjectA extends RealmObject {

    @Override
    public boolean equals(Object objectA) {

    }
}

在我的一个片段中,我有一个编辑表单来更改ObjectA 实例的属性,并且我想在用户退出此片段时显示一个放弃更改对话框。

在这个片段中,我引用了我正在编辑的objectA 的一个简单 POJO。它看起来像这样:

    public ObjectA objectA;
    public ObjectA originalObjectA = realm.copyFromRealm(objectA);

现在我们可以在我们的领域模型中覆盖equals 方法,我可以检测到更改,但是为了调用我的覆盖方法,我必须这样做:

    originalObjectA.equals(objectA);

不是相反:

    objectA.equals(originalObjectA);

知道为什么我只能从 POJO 引用而不是我的实时领域对象调用我的自定义 equals 方法吗?

【问题讨论】:

  • 您使用的是哪个版本的 Realm?
  • 我使用的是 0.88.1 版

标签: android realm


【解决方案1】:

我们修复了 0.88.3 中导致自定义相等方法被覆盖的错误。听起来你被那个错误击中了:https://github.com/realm/realm-java/blob/master/CHANGELOG.md

升级到 0.88.3 或 0.90.0 应该可以解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-27
    • 1970-01-01
    • 2020-01-30
    • 2011-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    相关资源
    最近更新 更多