1. Error description
Java.lang.arrayindexoutofboundsexception:2at Report.service.impl.exportserviceimpl$7.setsheetvalue ( exportserviceimpl.java:2649) at Utils. Excelutil.getworkbook (excelutil.java:45) at Report.service.impl.ExportServiceImpl.exportStation ( exportserviceimpl.java:2678) at Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:57) at Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43) at Java.lang.reflect.Method.invoke (method.java:606) at Org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection (aoputils.java:317) at Org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint (Reflectivemethodinvocation.java : At Org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (Reflectivemethodinvocation.java : 157) at Org.springframework.aop.framework.adapter.AfterReturningAdviceInterceptor.invoke ( afterreturningadviceinterceptor.java:52) at Org.springframeWork.aop.framework.ReflectiveMethodInvocation.proceed (reflectivemethodinvocation.java:179) at Org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke (exposeinvocationinterceptor.java:92) at Org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (reflectivemethodinvocation.java:179) at Org.springframework.aop.framework.JdkDynamicAopProxy.invoke (jdkdynamicaopproxy.java:207) at com.sun.proxy.$ Proxy78.exportstation (Unknown Source) at Report.controller.ExportController.exportStationStatis ( exportcontroller.java:765) at Sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at Sun.reflect.NativeMethodAccessorImpl.invoke (nativemethodaccessorimpl.java:57) at Sun.reflect.DelegatingMethodAccessorImpl.invoke (delegatingmethodaccessorimpl.java:43) at Java.lang.reflect.Method.invoke (method.java:606) at Org.springframework.web.method.support.InvocableHandlerMethod.invoke (invocablehandlermethod.java:215) at Org.springframework.web.method.support.InvocableHandlerMethod.invokeForReqUest (invocablehandlermethod.java:132) at Org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle ( SERVLETINVOCABLEHANDLERMETHOD.JAVA:104) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod ( requestmappinghandleradapter.java:749) at Org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal ( requestmappinghandleradapter.java:689) at Org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle ( abstracthandlermethodadapter.java:83) at Org.springframework.web.servlet.DispatcherServlet.doDispatch ( dispatcherservlet.java:938) at Org.springframework.web.servlet.DispatcherServlet.doService ( dispatcherservlet.java:870) at Org.springframework.web.servlet.FrameworkServlet.processRequest ( frameworkservlet.java:961) at Org.springframework.web.servlet.FrameworkServlet.doGet (frameworkservlet.java:852) At Javax.servlet.http.HttpServlet.service (httpservlet.java:620) at Org.springframework.web.servlet.FrameworkServlet.service (frameworkservlet.java:837) at Javax.servlet.http.HttpServlet.service (httpservlet.java:727) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:303) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.tomcat.websocket.server.WsFilter.doFilter (wsfilter.java:52) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at filter. Transcationfilter.dofilter (transcationfilter.java:32) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at filter. Contentfilter.dofilter (contentfilter.java:64) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal (characterencodingfilter.java:88) at Org.springframework.web.filter.OncePerRequestFilter.doFilter (onceperrequestfilter.java:107) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter (proxiedfilterchain.java:61) at Org.apache.shiro.web.servlet.AdviceFilter.executeChain (advicefilter.java:108) at Org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal (advicefilter.java:137) at Org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter (onceperrequestfilter.java:125) at Org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter (proxiedfilterchain.java:66) at Org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain (Abstractshirofilter.java:449) at Org.apache.shiro.web.servlet.abstractshirofilter$1.call (AbstractShiroFilter.java : 365) at Org.apache.shiro.subject.support.SubjectCallable.doCall (subjectcallable.java:90) at Org.apache.shiro.subject.support.SubjectCallable.call (subjectcallable.java:83) at Org.apache.shiro.subject.support.DelegatingSubject.execute (delegatingsubject.java:383) at Org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal (abstractshirofilter.java:362) at Org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter (onceperrequestfilter.java:125) at Org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate (delegatingfilterproxy.java:344) at Org.springframework.web.filter.DelegatingFilterProxy.doFilter (delegatingfilterproxy.java:261) at Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:241) at Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:208) at Org.apache.catalina.core.StandardWrapperValve.invoKe (standardwrappervalve.java:220) at Org.apache.catalina.core.StandardContextValve.invoke ( standardcontextvalve.java:122) at Org.apache.catalina.authenticator.AuthenticatorBase.invoke ( authenticatorbase.java:501) at Org.apache.catalina.core.StandardHostValve.invoke (standardhostvalve.java:171) at Org.apache.catalina.valves.ErrorReportValve.invoke (errorreportvalve.java:103) at Org.apache.catalina.valves.AccessLogValve.invoke (accesslogvalve.java:950) at Org.apache.catalina.core.StandardEngineValve.invoke (standardenginevalve.java:116) at Org.apache.catalina.connector.CoyoteAdapter.service (coyoteadapter.java:408) at Org.apache.coyote.http11.AbstractHttp11Processor.process (abstracthttp11processor.java:1070) at Org.apache.coyote.abstractprotocol$abstractconnectionhandler.process (abstractprotocol.java:611) at Org.apache.tomcat.util.net.jioendpoint$socketprocessor.run (jioendpoint.java:316) at Java.util.concurrent.ThreadPoolExecutor.runWorker (threadpoolexecutor.java:1145) at Java.util.concurrent.ThreadPoolExeCutor$worker.run (threadpoolexecutor.java:615) at Org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run ( taskthread.java:61) at Java.lang.Thread.run (thread.java:745)
2. Cause of error
string[] ch = {"A", "B", "C", "D", "E"};int[] userId = {0,1};for (int a=0;a<ch.length;a++) { User.setid (userId (A)); for (int b=0;b<ch.length;b++) { }}
Ch The length of the string array is the length of the 5,userid array is 2, in the first layer for loop, the ID is assigned a value of UserID (a), beyond the UserID array length
3. Solutions
Correct practice:
string[] ch = {"A", "B", "C", "D", "E"};int[] userId = {0,1,2};for (int a=0;a<userid.length;a++) { User.setid (userId (a)); for (int b=0;b<ch.length;b++) { }}
The maximum value of the outermost loop A is userid.length-1
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
Java.lang.arrayindexoutofboundsexception:2