【发布时间】:2016-03-15 08:05:19
【问题描述】:
当我使用匿名内部类来创建节点时。当我打印所有键时,它们打印为 0,而不是我在匿名类声明中分配的值。难道我做错了什么?这是我的代码:
public class LinkedListTest {
Node head;
public void addInOrder(final int value) {
if (head == null) {
head = new Node() {
int key = value;
};
}
else if(head.key > value) {
final Node temp = head;
head = new Node() {
int key = value;
Node next = temp;
};
}
else {
Node theNode = head;
while(theNode.key < value) {
if (theNode.next == null) {
theNode.next = new Node() {
int key = value;
};
return;
}
else if(theNode.next.key > value) {
final Node temp = theNode.next;
theNode.next = new Node() {
int key = value;
Node next = temp;
};
return;
}
theNode = theNode.next;
}
}
}
这是我的节点的类声明:
class Node {
int key;
Node next;
}
这是我的打印方法:
public void printAll(Node hasNode) {
if (hasNode != null) {
System.out.println(hasNode.key);
if (hasNode.next != null) {
printAll(hasNode.next);
}
}
}
【问题讨论】:
标签: java inner-classes anonymous-class anonymous-inner-class