gpt4 book ai didi

java - Realm 中的条件 WHERE

转载 作者:行者123 更新时间:2023-12-01 09:51:28 25 4
gpt4 key购买 nike

我正在将我的应用程序从 sqlite3 移至 Realm 。

在我的旧代码中,查询是集体的,即代码检查一些设置并考虑这些设置构建正确的查询:

伪代码 - 以前的样子:

var str_where = "alala";
IF (SOMETHING) {
str_where += "asdfasdfdasf";
}else{
if (ANOTHERTHING)
str_where += "trampampam";
else
str_where += "blablabla";
}

query+= "WHERE " + str_where

EXECUTE(query);

现在我没有任何查询字符串要传递和执行。对于 Realm,我的查询如下所示:

伪代码 - 现在的样子:

IF (SOMETHING) {
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("asdfasdfdasf")
.findAll();
}else{
if (ANOTHERTHING)
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("trampampam")
.findAll();
else
dbPhrases = realm.where(xPhrase.class)
.contains("alala")
.contains("blablabla")
.findAll();
}

而且看起来又丑又乱

那么有没有办法使用一些变量或者RealmQuery(我无法实现)来构建查询,然后像我一样最终执行它到现在为止?

最佳答案

尝试

RealmQuery<xPhrase> query = realm.where(xPhrase.class).contains("alala");
if (SOMETHING) {
query.contains("asdfasdfdasf");
} else if (ANOTHERTHING) {
query.contains("trampampam")
} else {
query.contains("blablabla");
}
dpPhrases = query.findAll();

关于java - Realm 中的条件 WHERE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37572945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com