我的问题是我使用的不是我开发的类(我从 Microsoft Azure SDK for Java 获取它)。该类称为 Node,您可以看到它 here .
如您所见,该类是一个递归声明的泛型类,如下所示:
public class Node<DataT, NodeT extends Node<DataT, NodeT>> {
...
}
当我尝试实例化它时,我不知道该怎么做。我正在这样做,但我知道这不是办法,因为它没有尽头:
Node<String, Node<String, Node<String, Node<...>>>> myNode = new Node<String, Node<String, Node<String, Node<...>>>>;
希望您能理解我的问题。谢谢。
最佳答案
一种方法是像这样扩展 Node
:
class MyNode<T> extends Node<T, MyNode<T>> {
}
然后像这样实例化它:
Node<String, MyNode<String>> node1 = new MyNode<String>();
或
MyNode<Integer> node2 = new MyNode<Integer>();
关于java - 如何在 Java 中实例化通用递归类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43893586/