我是Java的初学者,正在经历这段代码
ListNode current = new ListNode();
current = front;
和
ListNode current = front;
两组语句都没有创建一个新对象,还是仅为第一个位置保留了内存,而为第二个语句只声明了保存fron节点内存的可变变量?
最佳答案
ListNode current = new ListNode();
current = front;
这将创建一个新的
ListNode
并将其分配给current
。然后,它将立即覆盖该引用,从而丢失对新对象的引用。这几乎肯定是一个错误。该代码等效于new ListNode();
ListNode current = front;
如果
ListNode()
构造函数没有副作用,则第一条语句是无用的,可能只是ListNode current = front;
关于java - 这两个语句之间到底有什么区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25706209/