刚刚接触java,在学习泛型时遇到了一个问题。我编写了一段代码,存在一个疑问,第3行是否属于使用泛型数组。
我了解到翻译泛型时存在类型擦除,会被抹成Object,而且我也明确看到了资料中写出不支持泛型数组。
希望有好心人可以给我解释一下我这段代码是否属于泛型数组,或者说是,能够通俗的解释一下不能使用使用泛型的理由。万分感谢!
public class GenericParadigmTest {
public static void main(String[] args) {
Demo[] demos=new Demo[3];
demos[0]=new Demo<>();
demos[0].setData1("smith");
demos[0].setData2(25);
demos[1]=new Demo<>();
demos[1].setData1("howard");
demos[1].setData2(46);
}
}class Demo{
private T1 data1; private T2 data2; public T1 getData1(){ return data1;
} public void setData1(T1 data1){ this.data1=data1;
} public T2 getData2(){ return data2;
} public void setData2(T2 data2){ this.data2=data2;
}
}