我有以下课程:
public class ArrayObjects<E> implements SomeImp<E>{
int maxCapacity, actualSize;
public ArrayObjects(){
maxCapacity = 10;
array = (E[]) new Object[maxCapacity];
}
}
Eclipse标记错误并说明以下内容:
&#34;数组无法解析为变量&#34;
它还显示了一些其他细节:
-Type safety:取消选中从Object []到E []
的强制转换有谁知道我做错了什么?我的目标是在我的类构造函数中有一个数组,它可以容纳任何类型的对象(这就是我试图使其成为通用的原因)但显然这种方法不起作用。
感谢您的帮助!!
答案 0 :(得分:0)
错误消息告诉您确切的错误。名称array
没有声明的变量。
public class ArrayObjects<E> implements SomeImp<E> {
int maxCapacity, actualSize;
E[] array; // <- The missing declaration
@SuppressWarnings("unchecked") // <- Suppress the "unchecked cast" warning
public ArrayObjects() {
maxCapacity = 10;
array = (E[]) new Object[maxCapacity];
}
}
对于未经检查的演员阵容,你可以做的最好的事情是如上所示压制它。