我有两个队列。一份是原件的副本。我没有意识到,通过将某些内容排入副本,它会排入原始版本。有什么快速修复方法吗? (也可能是一个解释,我以前从未注意到这一点,而且我已经用 java 编码一年了)。
ArrayQueue<Stop> temppath=checking.getPath();
temppath.enqueue(z);
基本上,排队到 temppath 排队到检查路径,这不是我想要的。我希望 temppath 独立于声明之外的检查路径。我不知道该怎么做才不会遇到同样的问题。我唯一想到的就是使检查路径出队并单独添加回每个值,但如果我可以帮助它,我宁愿不这样做。
我认为您正在寻找创建一个新容器。
ArrayQueue<Stop> temppath = new ArrayQueue<>(checking.getPath());
temppath.enqueue(z);