我想比较来自db4o和JSON的对象。如果在JSON中不存在,我应该删除db4o中的对象。
我对if:
有疑问if(tratdb4o.getMedication()==tratJson.getMedication()
I记录两个String变量,两者都相同,但不会进入If,用于更改igual的值。
有人知道为什么吗?
for (int i=0;it2.hasNext();i++ ) {
objetoDb4o=it2.next();
tratdb4o=(Tratam)objetoDb4o;
for (int j=0;it.hasNext();j++ ) {
objetoJson = it.next();
tratJson = (Tratam)objetoJson;
Log.d(TAG,"Comparing "+tratdb4o.getMedication()+" of db4o "+ tratJson.getMedication() +" of JSON");
if(tratdb4o.getMedication()==tratJson.getMedication()
igual true;
}
if (igual==false){
db4oHelper.db().delete(tratdb4o);
db4oHelper.listResult();
}
igual=false;
it=listaendb4o.iterator();
}
}
答案 0 :(得分:1)
而不是
tratdb4o.getMedication()==tratJson.getMedication()
DO
tratdb4o.getMedication().equals(tratJson.getMedication())
答案 1 :(得分:1)
表示你不使用“==”
的字符串 tratdb4o.getMedication().equals(tratJson.getMedication());
但是对于检查notequals,您仍然可以使用!=