(100分,回答全者给分多)数组越界是怎么产生的?如何编程才能避免? int a[]={1,2,3,4,5};for(int i=0;i<a.length;i++){.......}//这样写应该不会越界吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (1)在运行时使用了小于0或者大于等于数组长度的索引值来访问数组元素就是数组越界;(2)针对不同的情况,可以使用各种方法保证,楼上的是一种,但方法还有很多,看针对什么情况了,总之根据问题本身的特点,只要保证下标是对那个数组是有效就不会越界;(3)IndexOutOfBoundsException 我的遇到的情况不知道算不算:)<%=cd70[i].getBCD714().equals("")?"":cd70[i].getBCD714().substring(0,4)%>看这句话,开始的时候我就写<%=cd70[i].getBCD714().substring(0,4)%>,这样及时查出的结果cd70[i].getBCD714()不为空也会抛出异常。所以判断一下先 回复人: 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如何? 比如int a[] = {1,2,3,4,5}你要取a[9],回抛出IndexOutOfBoundsException所以使用数组的时候要注意查长度防止空指针异常,要是用if(a!=null)判断! 用substring()也很容易产生越界,我原来写文件上传进老时不时出现这种问题,就是老越界产生的 1、数组越界是怎么产生的?//就是下标超出长度或者不存在这下标2、如何编程才能避免?//尽量要限制数组的长度,明确她的长度,避免胡乱赋值给数组,忽视她的长度3、数组越界会产生什么异常?(比如空指针产生的是NullPointerException异常)//就是指针出界和空指针异常 to:rocshaw(太阳鸟(抵制日货)) 没想过嘿嘿,我一直这样用没出问题,大概null也算成空了吧,嗯得试试 关于用cookie实现购物车,修改cookie后得不到修改后的cookie org.apache.struts.scaffold包的疑問 关于文件上传的问题? 大家在开发STRUTS时,一个最简单的关于美工怎么处理STRUTS代码的问题 雅典奥运官方采用的是不是JAVA技术? 请问如何让一个链接在一个新窗口中打开,且每点一次都生成一个新窗口? kindeditor 上传视频不支持flv等格式。 用没用插件啊 CAS登陆处理过程太久,无法登陆 java 数组问题 问儿个入门问题 倾听你的建议!
(2)针对不同的情况,可以使用各种方法保证,楼上的是一种,但方法还有很多,看针对什么情况了,总之根据问题本身的特点,只要保证下标是对那个数组是有效就不会越界;
(3)IndexOutOfBoundsException
<%=cd70[i].getBCD714().equals("")?"":cd70[i].getBCD714().substring(0,4)%>看这句话,开始的时候我就写<%=cd70[i].getBCD714().substring(0,4)%>,这样及时查出的结果cd70[i].getBCD714()不为空也会抛出异常。所以判断一下先
我的遇到的情况不知道算不算:)
<%=cd70[i].getBCD714().equals("")?"":cd70[i].getBCD714().substring(0,4)%>看这句话,开始的时候我就写<%=cd70[i].getBCD714().substring(0,4)%>,这样及时查出的结果cd70[i].getBCD714()不为空也会抛出异常。所以判断一下先
getBCD714() 为""时没问题,为null如何?
你要取a[9],回抛出IndexOutOfBoundsException
所以使用数组的时候要注意查长度
防止空指针异常,要是用if(a!=null)判断!
2、如何编程才能避免?//尽量要限制数组的长度,明确她的长度,避免胡乱赋值给数组,忽视她的长度
3、数组越界会产生什么异常?(比如空指针产生的是NullPointerException异常)
//就是指针出界和空指针异常