我正在为我的编程类(class)设置问题。问题集开始于:
给定链表类的以下定义:
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< T >”是什么意思(第 1 行)......我找到了一些关于通配符的文献(I.E. List),但这对我来说仍然没有多大意义。我想知道是否有人可以解释为什么使用通配符(特别是在这种情况下),或者,如果这不是通配符的示例,我想知道是否有人可以告诉我它是什么?我的书(“Data Structures Outside In: Java”)没有提到任何有用的东西,我所在的 oracle 教程网站也没有提到(下面的链接,以防有人想看看 oracle 必须说什么)
(我在这个网站上:http://download.oracle.com/javase/tutorial/extra/generics/wildcards.html 但我仍然无法理解通配符的用途,也无法确定这是否是通配符的示例)
谢谢你的帮助!
最佳答案
首先,Node表示链表的一个节点。对于单链表,每个节点都包含一个值和对列表中下一个节点的引用。
然后泛型(T
是泛型,不是通配符)定义每个Node的value的类型必须和List
定义的类型相同>.
我建议阅读有关 java generics 的内容
关于java - 有人可以向我解释基本的 Java 泛型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299686/