【发布时间】:2014-03-17 22:03:10
【问题描述】:
我的代码有问题。我在 Mongo 中有一组对象,所有这些对象都有一个“名称”、“描述”、“imageURL”、“代码”。
我想搜索我的收藏并返回包含所有名称、描述、代码和图像 URL 的 ArrayList
我试过这样
else{
DBCursor cursair = this.searchItem(code);
while(cursair.hasNext()){
this.searchNames = new ArrayList<String>();
this.searchBarcodes = new ArrayList<String>();
this.searchDescriptions = new ArrayList<String>();
this.searchImageURLs = new ArrayList<String>();
this.searchNames.add(cursair.curr().get(ITEMS_NAME).toString());
this.searchDescriptions.add(cursair.curr().get(ITEMS_DESCRIPTION).toString());
this.searchImageURLs.add(cursair.curr().get(ITEMS_IMAGEURL).toString());
this.searchBarcodes.add(cursair.next().get(ITEMS_CODE).toString());
}
我有一个问题,因为它在this.searchNames.add(cursair.curr().get(ITEMS_NAME).toString()); 给了我一个 NullPointerException。
ITEMS_NAME是代码中定义的String常量。
searchItem(code) 方法如下所示
public DBCursor searchItem(String searchQuery){
BasicDBObject query = new BasicDBObject();
query.put(ITEMS_NAME, java.util.regex.Pattern.compile(searchQuery));
DBCursor cursor = itemsCollection.find(query);
return cursor;
}
我还检查了我的调试器,当我调用 cursor.toArray() 时,它返回一个大小为 5 的 List<DBObject>,所以我对游标本身具有正确的信息非常有信心
【问题讨论】:
-
发布堆栈跟踪。需要注意的是,调试复合语句要困难得多。有四个不同的项目可能是
null。 -
很抱歉,堆栈跟踪没有提供任何有用的信息。下面的答案也帮助了我,但感谢您的帮助!
标签: java android mongodb nullpointerexception database