我有这段代码并且它一直说它不能创建一个通用数组,但是,我的Node类中没有泛型,只是一个Object字段。 Node类是一个内部类。为什么要这样做?
public class TernarySearchTrie<E> implements TrieInterface<E> {
private Node[] root = new Node[256];
private int size = 0;
private class Node {
char c;
Node left, mid, right;
Object value;
}
}
答案 0 :(得分:4)
将static
修饰符添加到Node类:
private static class Node {
char c;
Node left, mid, right;
Object value;
}
没有static
,它取决于具有泛型的TernarySearchTrie类。
答案 1 :(得分:2)
您在有问题的AntiForgeryToken
中所做的事实上是new Node[256]
。一种解决方案是使用原始类型:
TernarySeachTrie<E>.Node[256]
当然,编译器会为此提供警告。