java.lang.ClassCastException HashTable.Entry的对象

时间:2017-02-23 16:25:07

标签: java

我正在尝试使用 Entry<创建一个数组K,V> 元素。使用此代码,我有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
    }
}

2 个答案:

答案 0 :(得分:0)

试试这个:

table = (Entry<K, V>[]) new Map.Entry[INITIAL_SIZE];

答案 1 :(得分:0)

当然你可以创建自己的数组或条目列表Abhilekh Singh和Nicolas向你展示了如何做到这一点。

但是对于典型的用例,java已经有了这样的类。它是this(通用接口),最常用的实现是java.util.Map

您可以使用put(key, value)向该地图添加条目,并且可以获得一个Set&gt;与entrySet