我想要一个Java中不可更改的ArrayList。所以你不能删除或添加任何元素。所以所有的工作都是由构造器完成的。
到目前为止,我已经试着用下面的方法使列表最终确定
<代码>公共静态最终列表
这不起作用,因为您仍然可以在其中添加元素。
接下来,我在网上搜索并发现您可以像这样覆盖所有方法:
public NoChangeArrayList<T> extends ArrayList<T> {
@Override
public boolean remove() {
//do nothing...
}
//override all change methods
(...)
}
这对我来说似乎不是一个好的解决方案,因为我需要为这么简单的事情投入大量的工作。
有没有一种简单的方法可以制作一个不变的ArrayList?
有一个名为Guava的库可以为您完成所有这些,我几乎将其用于每个项目,因为不幸的是Java直到Java8之后才支持真正不可变的集合。
List<Integer> mutable = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));
List<Integer> immutable = ImmutableList.copyOf(mutable);
指的是邮报的标题。,我正在尝试从内部更新ArrayList的值,但这不起作用 请参阅以下模型以进一步了解: 我有一个POJO类如下: 在我的管理器中,我创建了用户POJO列表: 现在在我的Facelet中,我使用将数据加载到中的to表中,以便用户可以编辑和更改值。Facelet代码: 当我编辑时,上述方法工作正常,但它不适用于。 我可以假设它适用于,因为有setter和getter方法。 那么我如
我在~/.bashrc和/etc/environment中更改了JAVA_HOME,并提供了它的源代码。这导致JAVA_HOME发生更改。 然而,我的java版本仍然保持显示早期版本。 最后,运行下面的代码为我提供了符号链接,它将我指向系统正在使用的实际java可执行文件。我把它编辑到我下载的Java8中,现在我的java版本显示了正确的版本。 我的问题是: 如果这是唯一导致更改的编辑,那么我们为
我需要一个选择 我需要在选择器上显示'shortName'字段,但需要使用id值。这就是我所拥有的: 它正确显示短名称,但选项值为0、1、2。如何使用数组上的id值修改它们?
问题内容: 嘿,我注意到在浏览GitHub存储库时,它使用AJAX加载每个文件夹/文件。 我了解所有这些,我只是想知道他们如何更改URL。您可以使用JavaScript获取并设置URL吗?如果是这样,对于将基于JavaScript的网站的一部分添加为书签可能非常有用。(其中的几页,通过JavaScript在其中移动) 谢谢。 问题答案: 它在历史记录操作API中使用了新的push/ pop状态功能
这里将记录重大更改,并在可能的情况下向JS代码添加弃用警告,在这更改之前至少会有一个重要版本. Breaking Changes Breaking changes will be documented here, and deprecation warnings added to JS code where possible, at least one major version before t
这里将记录重大更改,并在可能的情况下向JS代码添加弃用警告,在这更改之前至少会有一个重要版本. 重大更改的类型 本文档使用以下约定对重大更改进行分类: API 更改:已更改的 API 会以某种方式使未更新的代码必定抛出异常。 行为改变:Electron 的行为已经改变,但并不一定抛出相应的异常。 默认值更改:依赖于默认值的代码的行为可能被破坏,但不保证会抛出相应的异常。 您可以通过显式指定该值的方