<返回更多

java.lang.Integer cannot be cast to java.lang.Long错误解决办法

2021-07-03    青山依旧337
加入收藏

1.

java.lang.Integer cannot be cast to java.lang.Long错误解决办法

 

2.位置:

java.lang.Integer cannot be cast to java.lang.Long错误解决办法

 

Long userId = (Long) info.getPrincipals().getPrimaryPrincipal();

//error48:JAVA.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long

System.out.println("Long userId=="+userId);

User user = userService.getById(userId);

3.原因:不能硬上。

那如何将Integer类型转换成长整形 ?

4.在正儿八经前,要有一系列的小动作,才能接受。

先转成String型,再转Long;

1、转String型:A.toString

2、再由String型转Long 型即可

方法a: long B = Long.valueOf("A.toString");

方法b: long B = Long.parseLong("A.toString");

5.用工a方法:

java.lang.Integer cannot be cast to java.lang.Long错误解决办法

 

// 从认证信息中获取用户id long B = Long.parseLong("A.toString");

Long userId = Long.parseLong((info.getPrincipals().getPrimaryPrincipal()).toString());

System.out.print(userId);

6.运行成功,方法可行.

java.lang.Integer cannot be cast to java.lang.Long错误解决办法

 

其它:用json串来传值可以试试。

@PostMApping("/xxx")

public CommonResponse update( @RequestBody HashMap<Object, Object> map) {

Long postId = Long.valueOf(map.get("postId").toString());

Long userId = Long.valueOf(map.get("userId").toString());

Integer likeStatus = (Integer) map.get("likeStatus");

return CommonResponse.success(postReviewService.updateLike(reviewId,userId,likeStatus));

}

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>