Я действительно восхищаюсь функциями Java, и я не хочу отказаться от использования его для следующей проблемы:
У меня есть класс, который может быть унаследован, а внутри него есть private ArrayList arr;
Таким образом, функция setter в порядке, но функция getter return arr;
возвращает ссылку на эту переменную, которая может редактировать любой массив, который Я не хочу, и частные не будут иметь никакого смысла!
В С++ я бы просто return const arr;
и возвращал бы постоянную ссылку на переменную.
Мне так нужна переменная, которая не должна быть клонирована или скопирована вручную, потому что есть так много вычислений, которые требуют (ЗАЧИТАЙТЕ ТОЛЬКО переменную) ПОЧЕМУ нет никакой константы, возвращающейся в java???? есть ли способ избежать копирования?
p.s (final ArrayList<Integer> arr;)
не является параметром, потому что массив всегда меняет размер или значения элементов.
Если бы я не мог найти исправления, я угрожаю вернуться на С++ или сделать все общедоступным, и вы никогда не получите мое программное обеспечение: D
EDIT: еще один важный вопрос: я прошу что-то нехорошее (техническая инженерия мудрая) Я имею в виду, если бы создатели JAVA не имели ссылки на const (возвращающие только ссылки на чтение), тогда я должен просить что-то, что может быть обрабатывается другим способом. или мой дизайн программы неправильный Я так запутался.