我有一個示例代碼try.The代碼似乎沒有編譯錯誤。爲什麼它使用靜態嵌套類節點?當我刪除static
中的Node
嵌套類並編譯時,錯誤顯示create generic array
在private Node[] next = new Node[R];
中。究竟發生了什麼?爲什麼靜態嵌套類?
public class TrieST<Value> {
private static final int R = 256; // extended ASCII
private Node root; // root of trie
private int N; // number of keys in trie
// R-way trie node
private static class Node {
private Object val;
private Node[] next = new Node[R];
}
public TrieST() {
}
}
首先,你知道爲什麼通用數組是不允許的嗎? (例如'新ArrayList [5];'顯示此錯誤) –
immibis
2015-02-12 01:58:21
可能的重複[如何創建通用數組?](http://stackoverflow.com/questions/18581002/how-to-create-a-generic -array) – alfasin 2015-02-12 02:15:03
你可以解釋爲什麼添加靜態時沒有這樣的錯誤? – Peterxwl 2015-02-12 02:18:02