创建数组时的默认构造函数问题 Java
Default constructor issue when creating an array Java
我有以下 class:
public class ArrayObjects<E> implements SomeImp<E>{
int maxCapacity, actualSize;
public ArrayObjects(){
maxCapacity = 10;
array = (E[]) new Object[maxCapacity];
}
}
Eclipse 标记错误并说明如下:
"array cannot be resolved to a variable"
它还显示了一些额外的细节:
-类型安全:未经检查从 Object[] 转换为 E[]
有谁知道我做错了什么?我的目标是在我的 class 构造函数中有一个数组,它可以容纳任何类型的对象(这就是我试图使其通用的原因)但显然这种方法行不通。
感谢您的帮助!!
错误消息会告诉您确切的问题所在。没有名为 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];
}
}
就未经检查的转换而言,您能做的最好的事情就是如上所示抑制它。
我有以下 class:
public class ArrayObjects<E> implements SomeImp<E>{
int maxCapacity, actualSize;
public ArrayObjects(){
maxCapacity = 10;
array = (E[]) new Object[maxCapacity];
}
}
Eclipse 标记错误并说明如下:
"array cannot be resolved to a variable"
它还显示了一些额外的细节:
-类型安全:未经检查从 Object[] 转换为 E[]
有谁知道我做错了什么?我的目标是在我的 class 构造函数中有一个数组,它可以容纳任何类型的对象(这就是我试图使其通用的原因)但显然这种方法行不通。
感谢您的帮助!!
错误消息会告诉您确切的问题所在。没有名为 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];
}
}
就未经检查的转换而言,您能做的最好的事情就是如上所示抑制它。