我是java初学者,我正在阅读这段代码
ListNode current = new ListNode();
current = front;
和
ListNode current = front;
这两组语句不是创建一个新对象,还是仅为第一个语句保留内存,而第二个语句仅声明一个变量来保存前节点的内存?
最佳答案
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/