私は非常に小さなプログラムを持っています:
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インスタンスの参照を渡しますか?期待した出力が得られない理由を誰かに教えてもらえますか?