我经常使用java从mongo数据库中提取数据(因为我必须跨越许多数据库在非常大量的集合中进行)。在这个过程中,我通常使用
例如:
time = ((myObject.containsField("time"))) ? (myObject.get("time").toString().isEmpty()) ? "Empty" : myObject.get("time").toString() : "NA";
确保字符串是否存在或是否为空。但我们如何进行空检查,我的意思是如果时间值为null
例如:time=null
我们如何将值提取到脚本中,以便将其保存为提取,因为某些字符串表示空值?
.get
导致NullPointerException
。这是运行时检查,我经常为每条记录提取20多个值。进行空检查的最佳方法是什么?
非常感谢您的帮助。提前致谢!! :)
答案 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
指针。