返回数组列表的常量引用
我真的很欣赏java功能,我不想放弃在下一个问题中使用它:
我有一个可能被继承的类,它里面是一个 所以 setter 函数是可以的 ,但是 getter 函数返回对该变量的引用,任何能够编辑我不想要的整个数组和私有的任何人都没有任何意义!private ArrayList arr;
return arr;
在C++我会只是,它会返回对变量的常量引用。return const arr;
我非常需要变量不被克隆或手动复制,因为有太多的计算需要(只读变量)为什么在java中没有const返回????有什么办法可以逃脱复制吗?
p.s 不是一个选项,因为数组总是更改大小或元素值。(final ArrayList<Integer> arr;)
如果我找不到修复方法,我威胁要回到C++或公开所有内容,你永远不应该让我的软件:D
编辑:一个更重要的问题:我是否要求一些不好的东西(软件工程明智),我的意思是如果JAVA创建者认为没有const引用(返回只读引用),那么我必须要求一些可以用其他方式处理的东西。或者我的程序设计错了,我很困惑。