Инициализация и модификация ArrayList - PullRequest
0 голосов
/ 23 марта 2012

Из-за моих нескольких понятий Java у меня есть основной вопрос.

В этой ситуации:

Device devA = new Device();
Device devB = new Device();
ArrayList<Device> allDev = new ArrayList();
allDev.add(devA);
allDev.add(devB);

Если после этого я изменю devA или devB, то также allDev будет изменен соответственно?

Ответы [ 2 ]

5 голосов
/ 23 марта 2012

Да.Вы добавляете ссылку к devA и devB к ArrayList.Любые изменения в этом объекте будут отражены для них при доступе к ним через ArrayList.

2 голосов
/ 23 марта 2012

В Java, когда вы создаете новый объект, вы получаете ссылку / дескриптор объекта, и каждый раз, когда у вас есть дескриптор объекта и вносятся изменения в объект, любой, имеющий такую ​​же ссылку, сможет увидеть эти изменения.

Так что ответ на ваш вопрос - да, потому что вы по сути вносите изменения в один и тот же объект.

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