很简单的小类,其实E我就是想指long,String,怎么写呢,希望大侠指点下,谢谢了!public class test<E> {
 public E[] r;
 public test() {
  r = new E[3];
 }

解决方案 »

  1.   

    Java的泛型在编译时会擦除类型信息。Java中的数组是通过反射动态建立的。没有了类型信息怎么能构造出数组。
      

  2.   

    java是不支持泛型数组的。
    其实List或ArrayList就是已经做好了的泛型数组。
      

  3.   

    其实这个可以参考ArrayList。
    ArrayList虽然也是范型类,但是里面也是用Object数组:Object[] elementData;
    只是在get(int)的时候强转型(E)elementData[index];如果直接用E[] elementData;也行。可以这样来初始化:E[]elementData =(E[])new Object[N];
      

  4.   

    就算不是数组,
    T t =new T();
    这样做也是不可以的
    因为,不知道T是什么类型,也不知道T有没有无参的构造函数
      

  5.   

    还有原始数据类型long不能作为泛型参数E,用Long还差不多