嘿,这是我的第一篇文章,我有这个问题 如您所见,这是必需的方法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)
答案 0 :(得分:-1)
您可以使用以下方法创建通用数组:
public class GArrayFactory<E> {
private E[] array;
public GArrayFactory(Class<E> clazz, int size) {
final E[] array = (E[]) Array.newInstance(clazz, size);
this.array = array;
}
public E[] getArray() {
return array;
}
}
可以找到更多的解释here