递归内部静态类如何初始化?

abh*_*006 3 java trie static-class

我正在研究Trie的数据结构并遇到了这段代码

// R-way trie node
    private static class Node {
        private Object val;
        private Node[] next = new Node[26];
    }
Run Code Online (Sandbox Code Playgroud)

我理解逻辑,但我没有得到的是,Node将被初始化的深度是多少?

您可以在http://algs4.cs.princeton.edu/code/edu/princeton/cs/algs4/TrieST.java.html查看完整的代码.

Era*_*ran 5

这里没有递归.

private Node[] next = new Node[26];
Run Code Online (Sandbox Code Playgroud)

不会创建任何Node实例.它创建了一个包含26个元素的Node[](Node引用数组).所有引用都初始化为null.Node必须在其他地方初始化数组引用的实例.

另一方面,如果您将成员初始化为:

private Node n = new Node ();
Run Code Online (Sandbox Code Playgroud)

一旦Node创建了第一个实例,这将导致无限递归.