如何从DataStore获取时处理null值?

时间:2018-03-26 07:33:47

标签: java exception-handling jdo

我在GAE数据存储区中有一个属性contactKey。最初,contactKey的值将为null。然后我将存储contactKey的值,这将是不同JDO的关键。

问题是以下方法会在不同的地方被多次调用。因此,相同的数据将被多次写入。当我试图检查相等性时,它抛出了空指针异常,因为最初contactKey为null。我想坚持不关心null或有效值。这可能吗?

public void saveContactLogJDO(ContactLogJDO contactLog, Long key)
{
    try {
        ContactJDO contactJdo = null;
        persist(contactLog);
        //This returns entire entity
        contactJdo = utils.getById(contactJdo.class,key);
        contactJdo.setContactByKey(contactLog.getId());
        utils.persist(contactJdo);
    } catch (Exception e) {
        utils.printStackTrace(e);
    }
}

我想进行以下检查,但getContactByKey会抛出空指针异常,因为最初该值为null

if(contactLog.getId()!=null && contactLog != null){
    if(!contactJdo.getContactByKey().equals(contactLog.getId())){
            contactJdo.setContactByKey(contactLog.getId());
            utils.persist(contactJdo);
        }
}

0 个答案:

没有答案