我有一个非常小的程序:
public static void main(String[] args) {
Queue<String> queue = new LinkedList<String>();
queue.add("one");
queue.add("two");
queue.add("tree");
printQueue(queue);
customizeQueue(queue);
printQueue(queue);
}
private static void customizeQueue(Queue<String> queue) {
queue.add("four");
queue.add("five");
printQueue(queue);
}
private static void printQueue(Queue<String> queue) {
for(String s: queue){
System.out.print(s + " ");
}
System.out.println();
}
我期待输出:
one two tree
one two tree four five
one two tree
但是我得到:
one two tree
one two tree four five
one two tree four five
我不确定为什么会这样。我是否传递了 LinkedList 实例的引用?有人可以澄清为什么我没有得到预期的输出。