刚刚接触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; } }
浮云间
慕侠2389804
相关分类