我试图在领域进行查询。但我一直在equalTo(" id",38)
中得到一个空指针异常这是一个例外:
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.Map.get(java.lang.Object)' on a null object reference
at io.realm.RealmQuery.getColumnIndices(RealmQuery.java:140)
at io.realm.RealmQuery.equalTo(RealmQuery.java:199)
at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.loadTags(OfflineService.java:340)
at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.doInBackground(OfflineService.java:228)
at es.treenovum.paedocuments.services.OfflineService$WidgetOpsNewest.doInBackground(OfflineService.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
... 3 more
异常发生在equalTo行:
Category categoryResult = realm.where(Category.class)
.equalTo("id", category.getId())
.findFirst();
int category.getId()不为null或为空。境界也不是。
如果是我第一次运行应用程序,则db为空。这会导致这个吗?不应该在结果中返回null或0而不是抛出异常吗?
编辑:添加了类别类。 eclipse生成的所有getter和setter。
import io.realm.RealmObject;
import io.realm.annotations.RealmClass;
import com.google.gson.annotations.SerializedName;
@RealmClass
public class Category extends RealmObject {
@SerializedName("id")
private int id;
@SerializedName("text")
private String text;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}