0

我在我的 mongoDb 集合中保存了一个 BasicDBObject

BasicDBObject[] aBox = new BasicDBObject[5];
BasicDBObject obj = new BasicDBObject();
obj.append("box", aBox);

目前这是一个空数组,所以我的收藏中只有 []

但是当我试图获取我的数组时

DBObject[] aBox = (DBObject[]) obj.get("box");

我有这个错误

java.lang.ClassCastException: com.mongodb.BasicDBList cannot be cast to [Lcom.mongodb.DBObject;

你知道如何拥有我的阵列吗?

4

1 回答 1

1

BasicBDList是一个List,因此有一个toArray方法。或者您可以将其保留为列表。像这样的东西应该工作:

List<BasicDBObject> list = (List<BasicDBObject>) obj.get("box");
BasicDBObject[] aBox = list.toArray(new BasicDBObject[list.size()]);
于 2013-05-08T16:01:33.647 回答