这是我的 Android 应用程序中的一些代码:
public class Offer extends RealmObject {
@PrimaryKey
private long id;
在我的服务类中:
RealmList<Offer> currentLocalMerchantOfferList = currentLocalMerchant.getOffers();
RealmList<Offer> findIncomingMerchantOfferList = findIncomingMerchant.getOffers();
if (!EqualsUtil.areEqual(currentLocalMerchantOfferList, findIncomingMerchantOfferList)) {
currentLocalMerchant.setOffers(findIncomingMerchantOfferList == null ? null : realm.copyToRealmOrUpdate(findIncomingMerchantOfferList));
}
我得到编译
错误:
error: incompatible types: bad type in conditional expression
currentLocalMerchant.setOffers(findIncomingMerchantOfferList == null ? null : realm.copyToRealmOrUpdate(findIncomingMerchantOfferList));
我是否正确使用了 copyToRealmOrUpdate
?如果没有,如何正确使用它?
最佳答案
realm.copyToRealmOrUpdate(findIncomingMerchantOfferList)
返回 List<T>
而不是 RealmList<T>
.
RealmList 代表many-relationship
到另一个对象类型。因此,这些随机插入的对象不是多关系,因此它们不是 RealmList。
事实上,它们在内部返回为 ArrayList
.
更改代码以适应的方法是:
currentLocalMerchant.getOffers().clear();
currentLocalMerchant.getOffers().addAll(realm.copyToRealmOrUpdate(findIncomingMerchantOfferList));
关于android - 如何将 copyToRealmOrUpdate 用于列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258385/