每个元素具有相同键的 DBObject 数组
array of DBObject with same keys each element
我正在尝试创建一个 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");
首先,Out
和 out
混淆了(始终使用 upper/lower 大小写)
其次,您需要先初始化数组中的对象,然后才能使用它们:
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");
您只是在创建引用数组。在赋值之前需要为它创建对象。
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");
我正在尝试创建一个 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");
首先,Out
和 out
混淆了(始终使用 upper/lower 大小写)
其次,您需要先初始化数组中的对象,然后才能使用它们:
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");
您只是在创建引用数组。在赋值之前需要为它创建对象。
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");