Java:通过引用Collection来克隆任意集合
发布时间:2020-12-14 05:31:00 所属栏目:Java 来源:网络整理
导读:假设您在方法中有一个类型为 java.util.Collection的引用,并且不能说在运行时它将指向哪个java.util.Collection的实现,那么可以克隆Collection吗? 我想实现一个通用的方法,它将过滤任何给定类型的集合.因此,该方法将使用java.util.Collection作为输入.然而,
假设您在方法中有一个类型为
java.util.Collection的引用,并且不能说在运行时它将指向哪个java.util.Collection的实现,那么可以克隆Collection吗?
我想实现一个通用的方法,它将过滤任何给定类型的集合.因此,该方法将使用java.util.Collection作为输入.然而,除此之外,我不想修改原始集合,所以我想克隆收集. 解决方法
我看到三个选项:
>依赖于集合自己的克隆方法(假设它实现了Cloneable),然后删除不需要的元素.编辑:正如在评论和其他答案中指出的那样,clone()不是公开的,因此是不可访问的.>请求调用者提供一个空集合,以在源和目标之间复制目标元素.>定义一个工厂界面来创建一个空集合,并要求调用者提供一个工厂实现.然后在源和目的地之间复制目标元素. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |