在Java中不包含的领域

时间:2016-06-15 21:35:31

标签: java android realm contains

如果我有一个原始值数组,如何在RealmResults的.where()上运行.not()。contains()?

代码希望看起来像这样:

 results.where().not().contains("id", new int[] {1, 2, 3})

或者我是否必须迭代所有这些结果并将它们单独取出?

2 个答案:

答案 0 :(得分:4)

您可以尝试使用beginGroup,然后不要查询数组

realm1.where(UserModel.class)..beginGroup().not().
                    in("key",Your Array)).endGroup().findAll();

答案 1 :(得分:2)

现在没有这样的方法来查询数组。 contains()的第二个参数需要一个字符串,因此你无法传递int []或int。迭代结果是唯一的选择。

RealmQuery q = users.where();
for (int id : ids) {
q = q.notEqualsTo("id", id);
}
RealmResults<users> users = q.findAll();

如果需要查询一系列值,可以在()之间使用。