Reference 检查对节点对象的引用
我有一个关于这个代码的问题Reference 检查对节点对象的引用,reference,nodes,Reference,Nodes,我有一个关于这个代码的问题 class Queue { Node first, last void enqueue(Object item){ if(!first){ last = new Node(item); first = last; } else { last.next = new Node(item); last = last.next;
class Queue {
Node first, last
void enqueue(Object item){
if(!first){
last = new Node(item);
first = last;
} else {
last.next = new Node(item);
last = last.next;
}
}
}
我想我不是很确定最后一个节点到底是什么。当我第一次、最后一次写入线节点时,我听说我正在引用一个节点对象。这到底是什么意思?它指向内存中的任何地方吗?我知道我从不调用构造函数,所以它不是新对象。你能给我一些见解吗
如果(!first)是什么意思?由于first不是布尔值,if语句检查的是什么?谢谢
我将非常感谢清楚和简单的帮助。Thank=)第一行、最后一行的
节点声明了Node类型的两个变量。其中一个名为first,第二个名为last。这些节点对象是引用对象,因为它们包含内存中数据的地址,而不是包含数据本身
有关参考与值类型的更多信息:
行last=新节点(项目)
实际上正在调用节点的构造函数。将创建一个新节点,该节点包含传入的项
if(!first)
检查第一个节点是否为空。如果为空,则执行该代码块。否则将执行第二个块。谢谢您的帮助=)