java - 有人可以向我解释基本的 Java 泛型吗?

标签 java generics

我正在为我的编程类(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/

相关文章:

java - Saxon 免费版本中的 XQuery

java - 惯用的 Java : constraining data

ios - 使用内部列表对列表进行分类

generics - 用于处理泛型参数的 JDK 接口(interface)

.net - Dapper:找不到方法: 'System.Collections.Generic.IEnumerable` 1&lt;!!0> GridReader.Read(Boolean)'

java - 一键操作和两种不同的 View

java - 为什么我的 SOAP 客户端忽略 WSDL 位置的端口?

Java 通过套接字接收对象

c# - 将 List<T> 设置为 linq 查询结果导致超时

c# - 创建 Messenger 服务