2012-03-22 4 views
0

Из-за моих небольших концепций Java у меня есть основной вопрос.Инициализация и модификация ArrayList

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

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

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

+3

Я не пытаюсь быть саркастическим или что-то еще, но почему бы не попробовать его в коде? Такие вещи лучше узнают именно так. Если у вас все еще есть проблемы, тогда возвращайтесь сюда, разместите свой код и проблемы, с которыми вы сталкиваетесь. Вы должны помочь себе, прежде чем другие могут помочь вам. – Pete

+0

@ Пете, я понимаю ваше мнение, и в следующий раз попробую, прежде чем спросить :) – amp

ответ

5

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

+0

Спасибо за быстрое и хорошее объяснение! – amp

2

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

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

Смежные вопросы