我在StackOverflow中看到了所有过去的问题,但我找不到我的问题的正确答案。 我想创建一个类关联列表数组,但是在执行之后,我在行中有一个类似的异常:
private static final int SIZE=99999;
private List<Association <K,V>> [] hashtab;
hashtab = (List<Association <K,V>>[]) new Object [SIZE];
线程中的异常&#34; main&#34; java.lang.ClassCastException:[Ljava.lang.Object;无法转换为[Ljava.util.List; at com.code.classes.TableHachage。(TableHachage.java:20)at com.test.TestHash.main(TestHash.java:11)
我该如何解决?
注意:这是一个学术问题,所以我们不能直接使用HashTable,我们必须通过链接使用碰撞解决方案,并使用LinkedList
答案 0 :(得分:0)
为什么不呢:hashtab = (List<Association<K,V>>[]) new ArrayList[SIZE];
?
实际上你并不理解OOP的基本原则:类Object
的对象不能被转换为任何其他类,因为Object
是所有其他类的超类。
答案 1 :(得分:0)
不确定你为什么要进行投射?那是你的问题。
尝试做一个新的数组列表: List listOfAssociations = new ArrayList();
让我知道您正在尝试使用&#34; hashTable&#34;。因为你可以使用HashMap或其他一些对象
(我对你想要达到的目标感到困惑)