HashTable.Entry的java.lang.ClassCastException对象

HashTable.Entry的java.lang.ClassCastException对象,java,Java,我试图创建一个包含元素的数组。通过这段代码,我得到了java.lang.ClassCastException。我怎样才能解决这个问题 public class HashTable<K, V> { private final int INITIAL_SIZE = 128; private Entry<K, V>[] table; public HashTable() { table = (Entry<K,V>[]) ne

我试图创建一个包含元素的数组。通过这段代码,我得到了java.lang.ClassCastException。我怎样才能解决这个问题

public class HashTable<K, V> {
    private final int INITIAL_SIZE = 128;
    private Entry<K, V>[] table;

    public HashTable() {
        table = (Entry<K,V>[]) new Object[INITIAL_SIZE];
    }

    static class Entry<K, V> {
        // Here comes constructor and other stuff
    }
}
公共类哈希表{
私有最终整数初始大小=128;
私有条目[]表;
公共哈希表(){
表=(条目[])新对象[初始大小];
}
静态类条目{
//构造函数和其他东西来了
}
}
试试这个:

table = (Entry<K, V>[]) new Map.Entry[INITIAL_SIZE];
table=(条目[])新映射。条目[初始大小];

当然,你可以创建自己的数组或条目列表,Abhilekh Singh和Nicolas向你展示了如何创建

但是对于典型的用例,java已经有了这样一个类。它是(公共接口),最常用的实现是


您可以使用
put(key,value)
将条目添加到该映射,并可以使用
entrySet

获取集合>,您无法从对象数组中创建映射。@Nicolas我想创建一个数组,我将在其中存储条目。这是不可能的吗?您可以这样做
List List=new ArrayList()
所以正确的解决方案是table=(Entry[])new Entry[初始大小]