我需要创建java.util.AbstractQueue
实例的深层副本,因为该队列的创建速度相当慢(例如getTextBlocks(doc)
)并且我想在迭代器中重用该对象
AbstractQueue<TextBlock> cache= getTextBlocks(doc);
我试过了
AbstractQueue aq = new ConcurrentLinkedQueue(cache);
但这显然不起作用,因为底层对象显然仍然相同。有没有办法对该结构进行深层复制?我使用了Apache Commons集合中的Collections.copy(a,b)
,但这只适用于列表,而不是在AbstractQueue上,因为签名显示:
public static <T> void copy(List<? super T> dest, List<? extends T> src)