int a[]={1,2,3,4,5};
for(int i=0;i<a.length;i++){
.......
}//这样写应该不会越界吧

解决方案 »

  1.   

    (1)在运行时使用了小于0或者大于等于数组长度的索引值来访问数组元素就是数组越界;
    (2)针对不同的情况,可以使用各种方法保证,楼上的是一种,但方法还有很多,看针对什么情况了,总之根据问题本身的特点,只要保证下标是对那个数组是有效就不会越界;
    (3)IndexOutOfBoundsException
      

  2.   

    我的遇到的情况不知道算不算:)
    <%=cd70[i].getBCD714().equals("")?"":cd70[i].getBCD714().substring(0,4)%>看这句话,开始的时候我就写<%=cd70[i].getBCD714().substring(0,4)%>,这样及时查出的结果cd70[i].getBCD714()不为空也会抛出异常。所以判断一下先
      

  3.   

    回复人: haha7(怕死不当程序员) ( ) 信誉:100  2004-12-31 10:03:00  得分: 0  
     
     
       我的遇到的情况不知道算不算:)
    <%=cd70[i].getBCD714().equals("")?"":cd70[i].getBCD714().substring(0,4)%>看这句话,开始的时候我就写<%=cd70[i].getBCD714().substring(0,4)%>,这样及时查出的结果cd70[i].getBCD714()不为空也会抛出异常。所以判断一下先
     
    getBCD714() 为""时没问题,为null如何?
     
      

  4.   

    比如int a[] = {1,2,3,4,5}
    你要取a[9],回抛出IndexOutOfBoundsException
    所以使用数组的时候要注意查长度
    防止空指针异常,要是用if(a!=null)判断!
      

  5.   

    用substring()也很容易产生越界,我原来写文件上传进老时不时出现这种问题,就是老越界产生的
      

  6.   

    1、数组越界是怎么产生的?//就是下标超出长度或者不存在这下标
    2、如何编程才能避免?//尽量要限制数组的长度,明确她的长度,避免胡乱赋值给数组,忽视她的长度
    3、数组越界会产生什么异常?(比如空指针产生的是NullPointerException异常)
    //就是指针出界和空指针异常
      

  7.   

    to:rocshaw(太阳鸟(抵制日货)) 没想过嘿嘿,我一直这样用没出问题,大概null也算成空了吧,嗯得试试