![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Привет!
Есть такая несложная система классов:
В классе Organization хранится список всех студентов, через метод createStudent происходит добавление этих студентов в список. Метод getStudents позволяет получить ссылку на этот список. При этом из внешних классов появляется возможность влезть в приватный список и модифицировать его без каких-либо специальных методов класса Organization (удалить, подменить и др.). Как вернуть не саму ссылку на объект, а его полную копию? |
|||
|
||||
| leniviy |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 552 Регистрация: 8.2.2003 Где: Спб Репутация: нет Всего: 5 |
В java нет какого-то унифицированного способа копировать объекты.
Если надо защитить от модификации только сам список, но не объекты внутри него, можно обернуть возвращаемый список:
Чтобы защитить объекты Student, можно создавать глубокую копию списка (самому написать код или использовать библиотечный метод, например http://commons.apache.org/proper/commons-l...ationUtils.html Но если класс Student содержит бизнес логику, то это несколько теряет смысл. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Спасибо! То что надо!
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |