count = dao.getAllByPid(IPid).size()/size+1;
int index = 1;
for(int i = 0 ; i<=count; i++){
icount = new Integer[]{};
icount[i] = index;
index++;
}count是个普通的整形, icount是个数组  为什么icount[i] = index;报错啊?

解决方案 »

  1.   

    icount = new Integer[]{};这不是一个size为0的数组吗?兄弟,空数组怎么能加元素呢
      

  2.   

    icount = new Integer[]{}
    改为:
    icount = new Integer[count];for(int i = 0 ; i<=count; i++)
    改为 for(int i = 0 ; i<count; i++)
      

  3.   

    好几个逻辑上的错误,应修改为:int count = dao.getAllByPid(IPid).size()/size+1;
    Integer[] icount = new Integer[count]; // 数组应该在循环外就初始化完毕,而且大小应该固定好
    int index = 1;
    for(int i = 0 ; i<=count; i++){
      icount[i] = index;
      index++;
    }
      

  4.   

    icount = new Integer[]{};实例化数组,但是没有数组  长度,当然会报 ArrayIndexOutOfBoundsException只要确定长度就好了还有  icount 这样实例化难道没错???你自己都没有指定他得类型啊,大哥……
      

  5.   

    不小心改漏了for循环的 i<=count,提交时才发现,应该是:for(int i = 0 ; i< count; i++){注意数组下标是 0 ~ count-1,总计count个元素,所以for循环必须 < count
      

  6.   

    icount是一个整形数组 这么实例化有错?不过长度确实是没加
      

  7.   


    数组不会自动扩容的。可以使用ArrayList,这个能够自动扩容。