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