解决java.lang.ClassCastException class java.lang.Integer cannot be cast to class java.lang.Long异常
下面代码段,用jdbcTemplate.queryForMap查询数据库表的ID时,虽然编译通过没有报错,但会有问题:
try {Map<String,Object> userPo = jdbcTemplate.queryForMap("select * from auth_user where username='" + username + "'");if (userPo == null) {throw new UsernameNotFoundException("用户名不存在");}Long id = (Long)userPo.get("id"); //这行代码会报类型转换错误String password = (String)userPo.get("password");//用户权限List<SimpleGrantedAuthority> authorities = new ArrayList<>();List<Map<String,Object>> list = jdbcTemplate.queryForList("select * from auth_user_role where user_id=" + id);if (!CollectionUtils.isEmpty(list)) {for (Map<String,Object> po : list) {String roleCode = (String)po.get("role_code");authorities.add(new SimpleGrantedAuthority(roleCode));}}return new User(username, password, authorities);}catch(Exception ex){ex.printStackTrace();}
用Postman调用API报错如下:
java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in module java.base of loader 'bootstrap')
...
解决办法:
//用下面这行代码代替原来的代码(Long)userPo.get("id"),直接转换为Long类型
Long id = ((Integer)userPo.get("id")).longValue();
解决java.lang.ClassCastException class java.lang.Integer cannot be cast to class java.lang.Long异常相关推荐
- 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的
已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String异常的 ...
- 已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确
已解决java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.Long异常的正确 ...
- java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String
具体错误:java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String ...
- 解决 fastjson 泛型报错 : java.lang.ClassCastException: com.alibaba.fastjson.JSONObject cannot be cast to X
错误堆栈: Process: com.huawei.himovie1, PID: 20329java.lang.ClassCastException: com.alibaba.fastjson.JSO ...
- java.lang.ClassCastException: de.odysseus.el.ExpressionFactoryImpl cannot be cast to javax.el.Expres
spring+maven项目整合activiti在使用maven build启动时报包冲突错误.java.lang.ClassCastException: de.odysseus.el.Express ...
- java.lang.ClassCastException: cn.hutool.json.JSONObject cannot be cast toXXXX
java.lang.ClassCastException: cn.hutool.json.JSONObject cannot be cast toXXXX 除了网上常见解决方案以外,也存在另一种可能导 ...
- java.lang.ClassCastException: com.mysql.jdbc.Driver cannot be cast to javax.sql.DataSource
错误描述: Spring Boot 项目启动时出现错误:java.lang.ClassCastException: com.mysql.jdbc.Driver cannot be cast to ja ...
- java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to...异常
java.lang.ClassCastException: com.sun.proxy.$Proxy2 cannot be cast to...异常 参考文章: (1)java.lang.ClassC ...
- ssh报错java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to org.service.impl.EmpServi
错误如下: java.lang.ClassCastException: com.sun.proxy.$Proxy6 cannot be cast to org.service.impl.EmpServ ...
- spring的动态代理,碰到了一个类型转换的问题:java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com.
spring的动态代理,碰到了一个类型转换的问题: java.lang.ClassCastException: com.sun.proxy.$Proxy16 cannot be cast to com ...
最新文章
- 《我也能做CTO之程序员职业规划》写作过程重播之二
- class a_class;与new class();的区别
- 事情在不断的解决中,想念巫英才和张国振
- 业务库负载翻了百倍,我做了什么来拯救MySQL架构
- Unit Test单元测试时如何模拟HttpContext
- 日志服务与SIEM(如Splunk)集成方案实战 1
- svn合并分支到主干,工具操作
- LiveReload拓展配合Webpack实现网页自动刷新
- 文件在计算机被锁定怎么打开方式,4种删除锁定文件的方法
- 实用供热空调设计手册_空调水系统管路设计与施工,全是最实用的现场经验!...
- C# 电子发票生成pdf
- 关于站内搜索的那些事儿
- hmc830相位噪声_支持紧凑型LO解决方案,还是靠“PLL VCO”最佳拍档
- html字体样式不显示不出来,css怎么设置不显示文字
- Oracle 11g 修改表的所属表空间
- ubuntu 安装微信(微信官方版本)
- 让蔡徐坤来教你实现游戏中的帧动画(上)
- python 框架 scrapy_python之框架篇(scrapy)
- 2020年诺贝尔生理学或医学奖揭晓:由发现丙肝病毒的两位美国及一位英国科学家共同获奖...
- Linux mint 16安装后的种种善后
热门文章
- Vue报错:contains both .browserslistrc and package.json with browsers
- swift3 下标subscript
- 居家第二十五天朋友的豆芽菜
- 四象限时间管理有多好用?
- Unity 游戏数据的存档读档,数据加密与解密
- 北斗终端与计算机传输信息,基于北斗信息的手机终端的应用研究
- ESX通过命令行重启虚拟机
- win10删除账户文件夹(C:\Users\***)后,无法登录账户的解决方法
- MyBatis中传递多个参数的方法以及传入混合参数的获取方式
- COMFORT 美食 | 四季银河,心飨臻味