刚刚接触java,在学习泛型时遇到了一个问题。我编写了一段代码,存在一个疑问,第3行是否属于使用泛型数组。我了解到翻译泛型时存在类型擦除,<Integer, String>会被抹成Object,而且我也明确看到了资料中写出不支持泛型数组。希望有好心人可以给我解释一下我这段代码是否属于泛型数组,或者说是,能够通俗的解释一下不能使用使用泛型的理由。万分感谢!public class GenericParadigmTest {
public static void main(String[] args) {
Demo<String,Integer>[] 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<T1,T2>{
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;
}
}
添加回答
举报
0/150
提交
取消