java.lang.ArrayIndexOutOfBoundsException异常分析及解决

参考:http://blog.csdn.net/javaeeteacher/article/details/4485834

http://bbs.csdn.net/topics/90298133

这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界。

下面是一个错误示例:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
 at test4.State.nextStates(State.java:93)
 at test4.State.main(State.java:478)

从这些提示信息中可以获取如下信息:

1、错误发生在93行

2、发生错误的时候,下标的值为2

接下来分析为什么下标值为什么是2就可以解决了。



自己的理解:

这其实就是 数组越界了的问题

java中的数组分配是从0到它的length-1的空间,

比方:

int []a={1,2,3,4,5};

它分配了5个空间,这样定义跟这样

int [5]a={1,2,3,4,5}

是一样的,但你不能调用a[5],只能调用到a[4]
结果:a[0]=1,a[1]=2,a[2]=3,a[3]=4,a[4]=5,

但是使用:a[5]=数组越界

时间: 2024-12-10 06:14:26

java.lang.ArrayIndexOutOfBoundsException异常分析及解决的相关文章

java.lang.ArrayIndexOutOfBoundsException 异常分析及解决

参考:http://blog.csdn.net/javaeeteacher/article/details/4485834 这是一个非常常见的异常,从名字上看是数组下标越界错误,解决方法就是查看为什么下标越界. 下面是一个错误示例: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at test4.State.nextStates(State.java:93) at test4.State.m

关于 java 上传,下载和导入报java.lang.IllegalStateException异常解决办法

java.lang.IllegalStateException异常解决办法 最近在使用response.sendRedirect()时出现如下错误:java.lang.IllegalStateException            org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:423) 经过分析.查看jdk文档终于找到解决的办法,在response.sendRedirect()方法后加

sun.reflect.generics.reflectiveObjects.TypeVariableImpl cannot be cast to java.lang.Class异常解决方法

package com.wzs; import java.lang.reflect.ParameterizedType; public class T1<T> {     private Class classt;     public T1() {         ParameterizedType type = (ParameterizedType) this.getClass().getGenericSuperclass();         this.classt = (Class)

Struts2中使用execAndWait后,在 Action中调用getXXX()方法报告java.lang.NullPointerException异常的原因和解决方法

使用 Struts2 编写页面,遇到一个要长时间运行的接口,因此增加了一个execAndWait ,结果在 Action 中调用 getContext()的时候报告异常 1 ActionContext context = ActionContext.getContext(); 2 ServletContext servletContext = (ServletContext) context.get(ServletActionContext.SERVLET_CONTEXT); //抛空指针异常

response.sendRedirect 报 java.lang.IllegalStateException 异常的解决思路

今天在进行代码开发的时候,出现了 java.lang.IllegalStateException异常,response.sendRedirect("./DEFAULT.html"); 这一条语句出错. 在网上进行查找之后,发现问题很有可能是因为response.sendRedirect方法执行了两次,其中一次肯定是项目框架里面的跳转,而我自己要进行跳转的话,就显得极其不方便,最后我把目光放到前端页面,在前端页面进行跳转. 一开始我的前端语句是:window.location.href=

java.lang.IllegalStateException异常:简单的分析和简单解决方案

我们在做文件上传或者下载,或者过滤等操作时,可能要用到页面的输出流. 例如在action中使用: response.reset(); response.setContentType(”application/vnd.ms-excel”); OutputStream os = response.getOutputStream(); 抛出异常:java.lang.IllegalStateException 原因分析: 这是web容器生成的servlet代码中有out.write(””),这个和JSP

mybatis异常:Could not find result map Java.util.Map 问题分析及解决 定位不到具体的位置的错误

mybatis异常:Could not find result map Java.util.Map 问题分析及解决 错误写法  <select id="queryXXXCount" resultMap="java.util.Map" > mybatis报出的异常日志:org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.Map a

java.lang.ArrayIndexOutOfBoundsException

1.错误描述 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0 at com.you.model.Args.main(Args.java:18) 2.错误原因 /** * */ package com.you.model; /** * @author YHD * */ public class Args { /** * @param args */ public static void main

java.lang.ArrayIndexOutOfBoundsException: 2

1.错误描述 java.lang.ArrayIndexOutOfBoundsException: 2 at report.service.impl.ExportServiceImpl$7.setSheetValue(ExportServiceImpl.java:2649) at utils.ExcelUtil.getWorkbook(ExcelUtil.java:45) at report.service.impl.ExportServiceImpl.exportStation(ExportSe