Справка по списку массивов - PullRequest
0 голосов
/ 04 апреля 2011

Я пытаюсь добавить объект в список массивов, но у меня возникли некоторые трудности. Я знаю свою проблему, но не знаю, как ее исправить. По сути, проблема в том, что я назначаю ссылки на объект в списке массивов х раз. Это хорошо, я хочу этого. Тем не менее, ссылка всегда меняется, чтобы быть последней добавленной вещью?

Вот мой код:

ID ids = new ID("1", "this is a string", "213", "example", "my", "name", "7939","1d", "1");
idarray.add(ids);

ids = new ID("2", "this too, is a string", "12314", "example2", "my", "name", "250","1234", "1");
idarray.add(ids);

ids = new ID("3", "Hey look! another string!", "10941", "examplar!", "my", "name", "1341","da34", "0");
idarray.add(ids);

ids = new ID("4", "the final example!", "109231091", "for example", "my", "name", "799","DF1234", "0");
idarray.add(ids);

Идея состоит в том, что я пытаюсь создать новый объект "] ID", содержащий всю эту информацию, а затем сохранить его в массиве "ids" для доступа позже. Проблема в том, что я храню только ссылки, и при вызове кажется, что КАЖДАЯ сохраненная ссылка указывает на последние значения?

1 Ответ

0 голосов
/ 05 апреля 2011

Для доступа к указанному объекту.

int index = 0;
ids = idarray.get(index);

Таким образом, вы можете получить объекты, которые вы уже добавили.

Вы не можете сохранить все ссылки в переменной, для этого выиспользуйте массивы или коллекции, поэтому меняется на последнее значение, потому что вы назначаете новую ссылку каждый раз, когда вызываете:

ids = new ID("2", "this too, is a string", "12314", "example2", "my", "name", "250","1234", "1");
ids = new ID("3", "Hey look! another string!", "10941", "examplar!", "my", "name", "1341","da34", "0");

Так что теперь переменная id указывает на последнюю назначенную ссылку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...