想要声明一个数组这个数组中放置的对象是list,貌似java语法不允许这么搞,有没有人明白内在原因呢??public class testArray {
   List<String> te ;  
   
   public static void main(String[] args) {
    ArrayList<String> te1212 = new ArrayList<String>();
    ArrayList<String> te12 = new ArrayList<String>();
    ArrayList<String> te2= new ArrayList<String>();
    ArrayList<String> te3 = new ArrayList<String>();
    ArrayList<String> te4 = new ArrayList<String>();
    ArrayList<String> te5 = new ArrayList<String>();
    ArrayList<String> te6 = new ArrayList<String>();
    ArrayList<String> te7 = new ArrayList<String>();
    
    ArrayList<String>[] sadf = {te1212,te12};
   }
}错误提示: Cannot create a generic array of ArrayList<String>

解决方案 »

  1.   

    当然可以啦,数组里面是可以放List的哦。原因不是放list,原因是泛型的问题,数组里面不能放入泛型。这个是数组的原理和泛型的原理有关,楼主可以自己研究下。
      

  2.   


    我记得thinking in java有提到过,java中的泛型使用的是运行泛型,基于java核心机制的,不是类似与编译泛型,所以在数组中存放带泛型的对象是无法编译通过的。
      

  3.   

    原来java不支持泛型数组,还真没注意...