Java - объекты в списке хранятся по значению или по ссылке? - PullRequest
4 голосов
/ 16 января 2012

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

Ответы [ 5 ]

8 голосов
/ 16 января 2012

содержит ли список в Java объекты по значению или по ссылке?

Список - это упорядоченная коллекция, которая содержит ссылки на объекты.

Если я помещаю объект в список, а затем изменяю одно из его значений, будет ли тот, что в списке, иметь обновленное значение?

Вы можетеизменять / обновлять только изменяемые объекты.Вы не можете обновить неизменные (например, List<String>) объекты через их ссылки.

2 голосов
/ 16 января 2012

Да, они хранятся по ссылке.Если вы хотите получить значение, клонируйте объект, реализовав интерфейс Cloneable, и реализуйте свой собственный метод клонирования.

1 голос
/ 16 января 2012

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

0 голосов
/ 16 января 2012

Пользовательские типы данных всегда передаются по ссылке, если в вашем коде вы определили список с переменными некоторых классов, они хранятся по ссылке

0 голосов
/ 16 января 2012

Очевидно, что для справки, как это принято в любом Java-объекте, если только вы не намеренно клонировали объект и не поместили копию в список.

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