java - Java中的不可变数组

标签 java arrays immutability

Java 中的原始数组是否有不可变的替代方案?制作一个原始数组 final 实际上并不能阻止人们做类似的事情

final int[] array = new int[] {0, 1, 2, 3};
array[0] = 42;

我希望数组的元素是不可更改的。

最佳答案

不适用于原始数组。您需要使用 List 或其他一些数据结构:

List<Integer> items = Collections.unmodifiableList(Arrays.asList(0,1,2,3));

关于java - Java中的不可变数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700971/

相关文章:

c++ - shared_ptr<> 到数组自定义删除器(使用 make_shared)

c++ - 线程安全和 block 写入大小

hashmap - freemarker ,更新 hashmap 的方法

java - 向我解释字符串是不可变的

java - java中遍历z3 ast

java - 这段代码的逻辑如何抽象?

数组函数的 JavaScript 运行时复杂度

python - 默认内存所有方法

java - Netty:禁用自动读取对 `ByteToMessageDecoder` 不起作用?

java - 为 Selenium 测试设计页面对象结构。从 WebElement 继承导致问题