1. Description of the error
Java.lang.ClassCastException:java.util.ArrayList cannot is cast to Java.util.Mapat Service.impl.BillServiceImpl.exportBillExcel (billserviceimpl.java:336) 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.$ Proxy46.exportbillexcel (Unknown Source) at controller. Billcontroller.exportbillexcel (billcontroller.java:159) 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 Com.skycloud.oa.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 Com.skycloud.oa.filter.ContentFilter.doFilter (contentfilter.java:57) 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
list<list<map<string,object>>> itemList = new arraylist<list<map<string,object>> > ();
Map<string,object> map= (map<string, object>) itemlist.get (i);
Itemlist is a list collection, and there's a list inside it. Turn list<list> into a map, resulting in an error
3, the solution of the method
list<list<map<string,object>>> itemList = new arraylist<list<map<string,object>> > (); for (int j=0;j<itemlist.size (); j + +) {for (int i = 0; I<itemlist.get (j). Size (); i++) { map< String,object> map= (map<string, Object>) Itemlist.get (j). get (i); }}
Java.lang.ClassCastException:java.util.ArrayList cannot is cast to Java.util.Map