0

我正在尝试创建一个 DBObject 数组,所有元素都具有相同的键和不同的值。这个实现有什么问题?

 DBObject[] Out = new BasicDBObject[2];

 out[0].put("VALUE","1");
 out[0].put("PROPERTY","1");

 out[1].put("VALUE","2");
 out[1].put("PROPERTY","2");
4

2 回答 2

1

首先,Out混淆out(一致地使用大写/小写)

其次,您需要先初始化数组中的对象,然后才能使用它们:

DBObject[] out = new BasicDBObject[2];

out[0] = new BasicDBObject();
out[0].put("VALUE","1");
out[0].put("PROPERTY","1");

out[1] = new BasicDBObject();
out[1].put("VALUE","2");
out[1].put("PROPERTY","2");
于 2017-11-14T11:05:05.213 回答
0

您只是在创建引用数组。您需要在分配值之前为其创建对象。

DBObject[] Out = new BasicDBObject[2];

// instantiating objects for the array
for(int i=0 ; i < Out.length ; i++){
    Out[i] = new BasicDBObject();
}

Out[0].put("VALUE","1");
Out[0].put("PROPERTY","1");
Out[1].put("VALUE","2");
Out[1].put("PROPERTY","2");
于 2017-11-14T11:10:24.240 回答