java - 我们如何确保在不可变对象(immutable对象)中定义的 ArrayList 的不可变性?

标签 java immutability

如果我在 Java 中定义一个 ArrayList,它是私有(private)的、最终的并且只有 getter。用户仍然可以获取 ArrayList 并通过添加或删除其中的元素来修改 ArrayList。我怎样才能避免这种情况?

最佳答案

您可以从列表中创建一个不可修改的列表。 Collections类有一个实用方法。

 List<String> unModifiableList=Collections.unmodifiableList(
                                        oldList);

在您的实际对象中准备好列表后,您可以将其卡住。

关于java - 我们如何确保在不可变对象(immutable对象)中定义的 ArrayList 的不可变性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45199467/

相关文章:

java - 经常使用但具有并发性的 HashMap

java - JMeter Beanshell 整数错误

java - 不可变类的存储区域

d - 我应该何时以及如何在 D 中使用 `const` 和 `immutable`?

java - 如何为不可变类创建默认构造函数

java - 测试用例不覆盖分支

java - 如何制作像 Bukkit 一样的 Java 控制台应用程序(显示日志,同时将光标保持在屏幕底部等待输入)

Java - 双缓冲NullPointerException

java - 由于不变性,字符串线程安全?

java - 这个东西在Java中叫什么?