要你命三千之——BUG养成之路(2020

编程入门 行业动态 更新时间:2024-10-04 09:22:37

要你命三千之——BUG养成<a href=https://www.elefans.com/category/jswz/34/1770107.html style=之路(2020"/>

要你命三千之——BUG养成之路(2020

BUG: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.xxx.xxxx.entity.xxxx

日志提示:

Caused by: java.lang.ClassCastException: java.util.LinkedHashMap cannot be cast to com.shituo.entity.BaseFlowModelat java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1359)at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)at com.shituo.service.impl.SalePlanServiceImpl.lambda$page$2(SalePlanServiceImpl.java:143)at java.util.ArrayList.forEach(ArrayList.java:1257)at com.shituo.service.impl.SalePlanServiceImpl.page(SalePlanServiceImpl.java:128)at com.shituo.service.impl.SalePlanServiceImpl$$FastClassBySpringCGLIB$$2fbe4f97.invoke(<generated>)at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218)at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:750)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:120)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)at com.shituo.service.impl.SalePlanServiceImpl$$EnhancerBySpringCGLIB$$58d29e17.page(<generated>)at com.shituo.controller.SalePlanController.lambda$page$3(SalePlanController.java:108)at com.shituomand.rx.BaseAbstractCommand.run$original$y3G70aOG(BaseAbstractCommand.java:60)at com.shituomand.rx.BaseAbstractCommand.run$original$y3G70aOG$accessor$YUoS5FgE(BaseAbstractCommand.java)at com.shituomand.rx.BaseAbstractCommand$auxiliary$ps73qsIT.call(Unknown Source)at org.apache.skywalking.apm.agent.core.plugin.interceptor.enhance.InstMethodsInter.intercept(InstMethodsInter.java:86)at com.shituomand.rx.BaseAbstractCommand.run(BaseAbstractCommand.java)at comflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302)at comflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298)at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)

项目场景:

提示:这里描述项目中遇到的问题:
Service业务类方法中,直接获取数组并转化为 实体的集合
然后使用拉姆达表达式对集合进行过滤的时候,报错!

 List<BaseFlowModel> flowModels = FeignResultUtil.getDate(iFlowInstanceClient.getTaskDetailByBusinessId(String.valueOf(salePlanVO.getId())));if (null != flowModels) {ObjectMapper mapper = new ObjectMapper();flowModels = mapper.convertValue(flowModels, new TypeReference<List<BaseFlowModel>>() {});Optional<BaseFlowModel> first = flowModels.stream().filter(t -> {return t.getAssignee().indexOf(String.valueOf(AuthUtil.getUserId())) != -1;}).findFirst();}

原因分析:

提示:这里填写问题的分析:
例如:打断点调试,发现 map是LinkedHashMap,得到的其实是个map,而不是实体类。


解决方案:

提示:这里填写该问题的具体解决方案:
1、将map转成json,在转成对象(这种方式比较简单,很多json工具方法都有)
2、反序列化成对象

List<BaseFlowModel> flowModels = FeignResultUtil.getDate(iFlowInstanceClient.getTaskDetailByBusinessId(String.valueOf(salePlanVO.getId())));if (null != flowModels) {//在此次对数据进行处理	ObjectMapper mapper = new ObjectMapper();flowModels = mapper.convertValue(flowModels, new TypeReference<List<BaseFlowModel>>() {});//处理ENDOptional<BaseFlowModel> first = flowModels.stream().filter(t -> {return t.getAssignee().indexOf(String.valueOf(AuthUtil.getUserId())) != -1;}).findFirst();}

更多推荐

要你命三千之——BUG养成之路(2020

本文发布于:2024-02-28 15:00:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1769739.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:之路   要你命   BUG

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!