【发布时间】:2019-02-03 15:16:13
【问题描述】:
嘿,这是我的第一篇文章,我有这个问题 如您所见,这是所需的方法enter image description here
所以我尝试创建一个数组,但显示异常 那么有什么建议吗?
这是我的代码
public class GArrayFactory {
// Create and return an array of size n
public static <T extends Comparable<T>> GArray<T>[] getGArray(int n) {
GArray<T>[] array = (GArray<T>[]) new Object[n];
return array ;
这就是例外
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LGArray;
at GArrayFactory.getGArray(GArrayFactory.java:9)
【问题讨论】:
-
看起来您在代码中打错了字。注意
LGarray而不是GArray。 -
@Gendarme 不,这就是参考描述符的组成方式,即
"L" + <binary class name> + ";"。 -
您附加的屏幕截图具有
GArray<T>返回类型,但不是GArray<T>[]代码中的。需要哪一项? -
这也是一个很好的副本:stackoverflow.com/questions/529085/…
-
@Gendarme 他们尝试创建的数组的组件类型不是来自类型参数的类型..