java的类型转换异常_类型转换异常英文

java的类型转换异常_类型转换异常英文自己的项目中,有个定时任务的模块,里面需要将返回的对象强转为某个实体类JobModel,可是在转换的过程中,却报出了java.lang.ClassCastException:com.jy.admin.server.model.JobModelcannotbecasttocom.jy.admin.server.model.JobModelatcom.jy.admin.server….

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

自己的项目中,有个定时任务的模块,里面需要将返回的对象强转为某个实体类JobModel,可是在转换的过程中,却报出了java.lang.ClassCastException: com.jy.admin.server.model.JobModel cannot be cast to com.jy.admin.server.model.JobModel

at com.jy.admin.server.service.impl.JobServiceImpl.doJob(JobServiceImpl.java:103)这样的异常,

找到对应的那行代码

 
JobModel jobModel=(JobModel)jobDataMap.get(JOB_DATA_KEY);

就是这行代码出现了强转的错误.

期间也将该对象打印出来,发现确实是JobModel对象,debug的时候,那个对象里面存的数据也是正确的,初步怀疑是JobModel的serialVersionUID发生了改变,但后面发现并不是这个原因;

问题产生了就要解决,抓耳挠晒下,想到了一个解决办法,既然数据存在这个对象中没错,那就曲线救国一下,先将该对象转换成json,然后再转换回来,问题完美解决,代码如下,原因未知

 

Object temp = jobDataMap.get(JOB_DATA_KEY);
JobModel jobModel=new JobModel();
System.out.println(temp);
if (temp instanceof JobModel){
   jobModel= (JobModel) temp;
}else {
   String string = JSON.toJSON(temp).toString();
   System.out.println(string);
   jobModel = JSON.parseObject(string, JobModel.class);
}

最终解决方案:

麦奇: 楼主,原因是因为你们的项目中应该是采用了热部署,devtools,因为累加载器的不同所以会导致类型转换失败(5个月前#4楼)

 

琳达chu: 楼主我碰到的问题和你一模一样,是spring的devtools引起的,你把下面的依赖去掉应该就可以了

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-devtools</artifactId>

    <scope>runtime</scope>

</dependency>

我的微信公众号:架构真经(关注领取免费资源)

java的类型转换异常_类型转换异常英文

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195685.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【《重构 改善既有代码的设计》学习笔记1】重构:第一个案例「建议收藏」

    【《重构 改善既有代码的设计》学习笔记】重构:第一个案例本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理笔记并且加上自己的浅显的思考总结!一、简单的例子一个影片出租店用的程序,计算每一位顾客的消费金额,并打印详单。详单打印 顾客租了哪些影片、租期多长,影片类型 、单个影片费用、总费用 。 除了费用外,还要计算顾客的积分,不同种类租片积分不同。注:影片为为三类:普通片、儿…

    2022年2月27日
    45
  • 易玩卡盟怎么样_支付接口集成平台

    易玩卡盟怎么样_支付接口集成平台支持一键装修主站,一键对接货源,自定义后台登录背景,前台风格自定义背景等,已集成易支付接口对接易支付充值接口,修复BUG等服务器系统可以:Windows64/Linux64/cenos6.864位安装宝塔环境:apache2.4+mysql5.5+php5.6cenos6.8系统安装宝塔命令:yuminstall-ywgetamp;amp;wget-Oinstall.shhttp://downlo…

    2022年8月13日
    2
  • db4o java,db4o Java版性能测试评估

    db4o java,db4o Java版性能测试评估publicclassTestdb4oIndex{publicstaticclassRecord{StringstrKey;longintKey;};publicstaticclassAssert{publicstaticvoidthat(booleancondition){if(!condition){thrownewError(“Assertio…

    2022年7月21日
    11
  • 浅析瀑布流布局及其原理视频_jquery瀑布流布局

    浅析瀑布流布局及其原理视频_jquery瀑布流布局一、什么是瀑布流很多时候我们会看到一些Vlog网站或者展示图片的网站,它们的图片明明每一张的高度大小都不同,但是却能自动地适应,排成一行一行地展示,并且下拉到底的时候,加载的图片也会自动适应,这就是瀑布流,比如下图。…

    2025年6月21日
    0
  • RNN BPTT算法推导

    RNN BPTT算法推导BPTT(沿时反向传播算法)基本原理与BP算法一样,包含三个步骤:前向计算每个神经元的输出值反向计算每个神经元的误差项δjδ_jδj​,它是误差函数E对神经元j的加权输入netjnet_jnetj​的偏导数计算每个权重的梯度最后再用随机梯度下降算法更新权重循环曾如图所示:1.1前向计算循环层的前向计算:隐层:st=f(Uxt+Wst−1)s_t=f(Ux_t+Ws_{t-1})…

    2022年6月23日
    38
  • Ubuntu 安装使用yum[通俗易懂]

    Ubuntu 安装使用yum[通俗易懂]第一步:安装 build-essential 软件包  先简要说明一下这个包的作用,    Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装。如果单独安装gcc以及g++比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-essential软件包。查看该软件包的依赖关系,可以看到以下内容:$apt-…

    2022年6月28日
    71

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号