有什么理由可以声明一个数组 final 吗?说这样的话
final int[] array={1,2,33,21,11};
有什么理由可以声明一个数组 final 吗?说这样的话
final int[] array={1,2,33,21,11};
可能有几个。至少,它确保了
重要的是,它不能确保 'array' 的内容是不可变的。
它提供了一个不变量,即“数组”的分配不能改变。(在查看代码时,我可以假设“数组”不会被重新分配)。然而,没有什么能阻止元素被改变。前任。array[2] 可以从 33 更改为 25。
原因与任何其他可变类型相同:引用在声明对象的整个生命周期中保持不变,因此您可以自由分发它。final
总是关于参考被固定而不是内容,这可能会改变。
使用数组,您甚至可以保证数组大小不会改变,尽管该保证的有用程度取决于具体的用例。
你不能。您只能将数组引用声明为final,这与使数组不可变无关。数组在 Java 中永远不会不可变。