前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]

Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-13 10:09:06
1.8K0
发布2022-09-13 10:09:06
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

在Java接受前端传过来的数据信息的时候,使用List<List< double>>进行接收结果出现这个错误

在这里插入图片描述
在这里插入图片描述

java.lang.Integer cannot be cast to java.lang.Double是类型转换出现的错误,当是这个数据在前端明明处理过,使用parseFloat转为了浮点数

在这里插入图片描述
在这里插入图片描述

后端使用List<List>进行接收,此时也没有报错

在这里插入图片描述
在这里插入图片描述

于是打开debug进行调试检查问题,发现传过来的数值如果是整数则为Integer类型,有小数的才是double类型

在这里插入图片描述
在这里插入图片描述

但是在接收后转为List<List< double>>时又没有报错,导致List<List< double>>里装的并不全是double类型,而是掺杂了integer类型的数据,所以无法直接使用Double.parseDouble()进行转换,尝试先转为String再进行转换

在这里插入图片描述
在这里插入图片描述

但是还是出现了相同的错误,使用debug进行调试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

发现数据也没有出现问题,已经成功转为String类型并且成功转为double类型了 所以尝试改变一下接收的方式,使用JSONArray进行接收再取出

在这里插入图片描述
在这里插入图片描述

这样就能成功取出来了

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档