我正在为我的编程课程设置问题。问题集始于:
给定链接列表类的以下定义:
1 public class Node<T> {
2 public T data;
3 public Node<T> next;
4 public Node(T data, Node<T> next) {
5 this.data = data; this.next = next;
6 }
7 }
8
9 public class LinkedList<T> {
10 private Node<T> front;
11 ...
12 }
现在,我还不太清楚“ Node ”的含义(第1行)...我发现了一些有关通配符的文献(例如List),但这对我来说仍然没有多大意义。我想知道是否有人可以解释为什么使用通配符(在这种情况下,特别是在这种情况下),或者,如果这不是通配符的示例,我想知道是否有人可以告诉我它是什么?我的书(“ Java中的数据结构之外”)没有提及任何有用的信息,我所使用的oracle教程站点也没有提及(下面的链接,以防万一有人想知道oracle必须说些什么)
(我在此网站上:http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html
但我仍然无法理解通配符的用途,并且无法确定这是否是通配符的示例。
谢谢您的帮助!
最佳答案
首先,节点代表链接列表的节点。对于单链接列表,每个节点都保存一个值和对列表中下一个节点的引用。
然后,泛型(T
是泛型类型,而不是通配符)定义每个Node的值类型必须与为List
定义的类型相同。
我建议阅读有关java generics的信息
关于java - 有人可以向我解释基本的Java泛型吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6299686/