场景:

在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException

错误:

java.lang.UnsupportedOperationExceptionat java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)at com.pisen.cloud.luna.ms.goods.api.impl.TenGoodsTypeApiImpl.pageFind(TenGoodsTypeApiImpl.java:336)at com.pisen.cloud.luna.ms.goods.api.impl.TenGoodsTypeApiImpl$$FastClassBySpringCGLIB$$c8d478cc.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:721)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at com.pisen.cloud.luna.core.aspects.LunaReqAspect.doAround(LunaReqAspect.java:41)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)at com.pisen.cloud.luna.core.aspects.LunaValidAspect.doAround(LunaValidAspect.java:184)at com.pisen.cloud.luna.core.aspects.LunaValidAspect.doVerifyaAround(LunaValidAspect.java:48)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:629)at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:618)at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:70)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.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:656)at com.pisen.cloud.luna.ms.goods.api.impl.TenGoodsTypeApiImpl$$EnhancerBySpringCGLIB$$5b3e2beb.pageFind(<generated>)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:474)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:783)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:798)at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1434)at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at java.lang.Thread.run(Thread.java:748)

报错代码如下:

如下面代码所示:分页查询出来后,直接对结果集List进行操作,才报上面的错

@Overridepublic PageResult<GoodsType> pageFind(GoodsType entity) {PageResult<GoodsType> res = new PageResult<GoodsType>();entity.initUpdateData();Page<GoodsType> findPage = goodsTypeService.findPage(entity);GoodsType goodsType = goodsTypeService.get(entity.getParentUid());List<GoodsType> list = findPage.getContent();if (goodsType != null) {list.add(goodsType);}res.initTrue(findPage.getTotalElements(), list);return res;}

解决方法:

使用新的new ArrayList<>(findPage.getContent())接收结果集。

正确代码如下:

@Overridepublic PageResult<GoodsType> pageFind(GoodsType entity) {PageResult<GoodsType> res = new PageResult<GoodsType>();entity.initUpdateData();Page<GoodsType> findPage = goodsTypeService.findPage(entity);GoodsType goodsType = goodsTypeService.get(entity.getParentUid());List<GoodsType> list = findPage.getContent();if (goodsType != null) { list = new ArrayList<>(list);list.add(goodsType);}res.initTrue(findPage.getTotalElements(), list);return res;}

转载于:https://www.cnblogs.com/sxdcgaq8080/p/9174542.html

【java】在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException...相关推荐

  1. java list addall源码_解决list.add、list.addAll报错java.lang.UnsupportedOperationException

    时间宝贵,先讲解决方法: 使用Arrays.asList()转成的数组,调add或者addAll方法报错java.lang.UnsupportedOperationException 使用new Ar ...

  2. 使用POI操作Excel时new XSSFWorkbook ()报错java.lang.NoSuchMethodError解决方式

    使用最新的POI3.11时,在执行 Workbook  workBook = new XSSFWorkbook ();这段代码时出现错误: java.lang.NoSuchMethodError: j ...

  3. JAVA中oracle分页语句,oracle分页查询语句,java得到分页查询语句的方法

    oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...

  4. java oracle分页查询语句_oracle分页查询语句,java得到分页查询语句的方法

    oracle分页查询语句 select * from ( select a.*, rownum rn from (select * from table_name) a where rownum &l ...

  5. java oracle分页查询语句_Oracle分页查询语句的写法(转)

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用. ...

  6. 客户端启动报错java.lang.IllegalArgumentException: no server available的解决方案 SpringCloud中 Nacos做注册中心

    客户端启动报错java.lang.IllegalArgumentException: no server available的解决方案 SpringCloud中 Nacos做注册中心(谷粒) 报错内容 ...

  7. Tomcat无法启动,报错java.lang.NoClassDefFoundError: or...

    今天使用Tomcat 7 时,发现Tomcat无法启动, 报错java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 以为 ...

  8. flink SQL报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLj

    问题 flink SQL连接hive以及hudi 报错java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkAr ...

  9. bug日志:报错 java:程序包javax.persistence.criteria不存在,解决!

    bug日志:报错 java:程序包javax.persistence.criteria不存在,解决! 首先上报错图片: 排查问题:按住ctrl用鼠标左键点击框中javax可看到如下图显示 该jar包中 ...

最新文章

  1. 论坛报名 | 从捉迷藏、星际争霸到新一代人工智能:多智能体深度强化学习的理论与实践...
  2. edx错误的地方开始安装
  3. VS2015--win32project配置的一些想法之在 Visual Studio 2015 中进行调试的同一时候分析性能...
  4. 通用Login功能自动化测试
  5. python帮助文档快捷键_Pycharm快捷键手册
  6. boot lib分离 spring_spring boot + gradle打包bootJar分离lib
  7. ai二维码插件_送你60款AI脚本插件包,已整合成插件面板的形式,方便在AI中调用...
  8. c/c++中sleep()函数毫秒级的实现
  9. HBase 学习(三) JavaAPI的使用
  10. ios开发转行_做了几年嵌入式,想转服务器开发,该学什么?
  11. san mysql,高性能MySQL:SAN和NAS
  12. ***抓鸡和上传方法
  13. VMware虚拟机XP系统安装教程
  14. CodeForces - 1117G
  15. python绘制社会关系网络图_Python-NetworkX绘制网络图
  16. cf3月活动大全 3月活动汇总2015
  17. 《Unity Shader入门精要》自学笔记(六)第九章 更复杂的光照 —— 渲染路径
  18. 2020年前端学习的新路径
  19. CentOS6开关机日志查询
  20. java计算两个日期之间的月份差

热门文章

  1. java继承类大全_Java 面向对象继承部分(示例代码)
  2. xx是一个类型 这在给定的上下文_基于上下文的派发:挂起临时变量内存
  3. c语言常量类型转换,c语言基础教程常量变量和类型转换,免费版.doc
  4. tnsping通oracle连不上,写正确了tnsnames文件却tnsping无法ping通
  5. mysql2tb_MySQL2
  6. Vivado中如何将配置程序固化到FLASH?
  7. [case20]聊聊rest api设计
  8. 安卓 onTouch OnTouchEvent onChick 顺序
  9. Docker - Tips
  10. SSH没有password安全日志