使用MongoDB中的java提取时处理空值

时间:2015-05-27 12:08:10

标签: java mongodb nullpointerexception database

我经常使用java从mongo数据库中提取数据(因为我必须跨越许多数据库在非常大量的集合中进行)。在这个过程中,我通常使用

例如:

time = ((myObject.containsField("time"))) ? (myObject.get("time").toString().isEmpty()) ? "Empty" : myObject.get("time").toString() : "NA";

确保字符串是否存在或是否为空。但我们如何进行空检查,我的意思是如果时间值为null

例如:time=null

我们如何将值提取到脚本中,以便将其保存为提取,因为某些字符串表示空值?

.get导致NullPointerException。这是运行时检查,我经常为每条记录提取20多个值。进行空检查的最佳方法是什么?

非常感谢您的帮助。提前致谢!! :)

1 个答案:

答案 0 :(得分:1)

如果<preference name="orientation" value="portrait" /> 抛出空指针异常,您只需在其周围添加另一个三元案例,.get()抛出NPE .get()必须为myObject。因此,这应该工作

null

为了解释上述评论,time = myObject != null ? ((myObject.containsField("time")))? (myObject.get("time").toString().isEmpty())?"Empty":myObject.get("time").toString():"NA" : "null"; 似乎不是投掷NPE的内容,.get必须是。.toString()。这样改变代码:

time = myObject.containsField("time") ? myObject.get("time") != null ?
       (myObject.get("time").toString().isEmpty())?"Empty":myObject.get("time").toString():"NA" : "null";

额外的三元块现在将检查生成的"time"键是否产生null指针。