比较两个字段时出错

时间:2012-08-28 04:42:45

标签: java android json db4o

我想比较来自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();
    }
}

2 个答案:

答案 0 :(得分:1)

而不是

tratdb4o.getMedication()==tratJson.getMedication()

DO

tratdb4o.getMedication().equals(tratJson.getMedication())

答案 1 :(得分:1)

表示你不使用“==”

的字符串
    tratdb4o.getMedication().equals(tratJson.getMedication());

但是对于检查notequals,您仍然可以使用!=