我正在创建一个由数组支持的泛型类型的堆栈。当我尝试创建泛型类型数组时,Java不允许我。我被告知我必须创建一个Object类型的数组并将其转换为泛型类型。我已经将我的Object数组转换为类型,但是我如何处理Java一直给我的Unchecked Type错误?
=COUNTIFS($B$2:$B$4,"<="&G1,$C$2:$C$4,">"&G1)-COUNTIFS($D$2:$D$4,"<="&G1,$E$2:$E$4,">"&G1)
这是我到目前为止的地方。
更新: 我正在创建一个Object数组,然后将返回类型转换为方法末尾的类型T.
答案 0 :(得分:3)
最简单的方法是使用type变量将对象数组转换为所需类型。
public class AStack<T> {
T arr[];
int top=-1;
public AStack() {
int defSize=10;
arr = (T[]) new Object [defSize];
}
}
答案 1 :(得分:-1)
您可以使用扩展到您想要通用的所有其他类的接口或类,然后使用接口或类作为数组的类型,现在您可以将特定类型插入到数组中。
GenericType[] array = { new specificType1(), new specificType2(), new specificType3() }