假设您在一个方法中有一个 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/