gpt4 book ai didi

java - 这个 LinkedList 结果有什么问题?

转载 作者:行者123 更新时间:2023-12-01 19:04:09 24 4
gpt4 key购买 nike

我试图找出这个 LinkedList 实现有什么问题。结果不是我所期望的,我认为应该是:9 4 2 7 5。然而,当我运行它时,只添加了5。有人可以解释一下为什么吗?非常感谢!

public class LinkedList {

LinkedList next;
int value;

public LinkedList(int value) {
this.value = value;
next = null;
}

public void add(int n, LinkedList k) {
LinkedList node = new LinkedList(n);
node.next = k;
k = node;
}
}


public class LinkedListDemo {

public static void main(String[] args) {
LinkedList l = new LinkedList(5);

l.add(7,l);
l.add(2,l);
l.add(4,l);
l.add(9,l);

while(l != null) {
System.out.println(l.value);
l = l.next;
}
}
}

最佳答案

您将丢失对 k 的更改,因为 Java 按值传递对 k 的引用。这意味着当方法退出时,赋值 k = node 不会持续存在。

看看这个 question有关该问题的更多信息:)

关于java - 这个 LinkedList 结果有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10855432/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com