Массив DBObject с одинаковыми ключами для каждого элемента

Я пытаюсь создать массив 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");

2 ответа

Решение

Первый, 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");

Вы только создаете массив ссылок. Вам нужно создать объекты для него, прежде чем присваивать значения.

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");
Другие вопросы по тегам