【发布时间】:2016-05-21 09:03:51
【问题描述】:
所以我试图创建一个双泛型类的数组,但由于某种原因它给了我一个错误。
代码:
Node<K, V>[] table = (Node<K, V>[]) new Object[10];
我收到以下错误:
线程“main”中的异常 java.lang.ClassCastException: [Ljava.lang.Object;不能转换为 [HashCache$Node;
所以,我想知道为什么它会给我这个错误,我该如何解决它。
【问题讨论】:
-
不要使用泛型和数组,它们不能很好地结合在一起。
-
一个对象不一定是一个节点,更重要的是,一个对象数组当然不是一个节点数组。
标签: java arrays generics casting