ArrayList<TableColumn> abc=new ArrayList<TableColumn>(); 
   
       tablecolum = new TableColumn(table, SWT.NONE);

 abc.add(1,tablecolum);出现异常:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0什么回事呢?

解决方案 »

  1.   

    第一次添加 abc.add(0,tablecolum);
      

  2.   

    你的ArrayList泛型限定的是TableColumn对象,add的却是(1,tablecolum),这样不出错才怪。
      

  3.   

    楼主,这个是List
    链表,你的头指针指向的元素是 第一个元素 , 第一个尾指针指向 第二个元素,第一个元素都没有,那插入第二个元素不是相当于非法的吗?
    这个是我个人的理解!仅供参考
      

  4.   


    ArrayList<TableColumn> abc=new ArrayList<TableColumn>();  
      
    tablecolum = new TableColumn(table, SWT.NONE);abc.add(1,tablecolum);//改为 abc.add(tablecolum);=====================================
    如果我的答案解决了您的问题,请及时结贴,O(∩_∩)O谢谢
      

  5.   


    ArrayList<TableColumn> abc=new ArrayList<TableColumn>();  
      
    tablecolum = new TableColumn(table, SWT.NONE);abc.add(1,tablecolum);//改为 abc.add(tablecolum);=====================================
    如果我的答案解决了您的问题,请及时结贴,O(∩_∩)O谢谢
      

  6.   


    谢啦。是我自己弄错了。
    我原本是这样的,我想加入好几个。
    我用了一个for循环
    for(int i=0;i<10;i++)
    {abc=new ArrayList<TableColumn>(); tablecolum = new TableColumn(table, SWT.NONE);
           tablecolum.setResizable(false);
           
    abc.add(i,tablecolum);}原来我把arraylist放在里面了。所以不行。我把它放循环外面就行了。还好被你们提醒了。
      

  7.   

     调用 add 为什么还要加一个int参数呢