Java:通过引用集合克隆任意集合

标签 java collections

假设您在一个方法中有一个 java.util.Collection 类型的引用,并且不能说出它在运行时指向什么 java.util.Collection 的实现时间,是否可以克隆该集合?

我想实现一个通用方法来过滤给定的任何类型的集合。因此,该方法将 java.util.Collection 作为输入。然而除此之外,我不想修改原始集合,所以我想克隆集合。

最佳答案

不幸的是,接口(interface) Collection 没有说明任何关于实现可克隆接口(interface)的内容。


但您始终可以做的是复制集合:

List<T> copy = new ArrayList<T>(original);

如果你只想确保它没有被修改,那么用一个不可修改的集合包装它而不是克隆它:

Collection<T> unmodifiable = Collections.unmodifiableCollection(original);

关于Java:通过引用集合克隆任意集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4875483/

相关文章:

java - 如何设置文件 channel 位置

java - 为什么 Collections.sort 使用合并排序而不是快速排序?

java - 遍历 Guava Multimaps

java - 运行 Jersey Rest API 而不使用容器作为 jar

java - 如何在正则表达式匹配中排除 "<"

java - 多线程Java没有加速

java - Olingo Odata4 服务器 : Multiple Primary Key

java - Collections.emptyList() 和/或 Java 泛型方法的奇怪类型推断行为?

javascript - 如何将 RESTful API 映射到 BackboneJS 模型和集合中的 URL?

java - 了解 Comparator 调用比较方法