gpt4 book ai didi

java - 假装返回数据

转载 作者:行者123 更新时间:2023-12-01 17:41:12 25 4
gpt4 key购买 nike

我使用 feign 来获取 Long 的 userIdList。

feign:

@GetMapping("getUsername/{userId}") 
ResultBean getUsername(@PathVariable("userId") Long userId);

结果Bean:

public class ResultBean<T>{
private String statusCode;
private T data;
}

方法 getGroupUserIds:

@GetMapping("getGroupUserIds/{groupId}")
@ResponseBody
public ResultBean getGroupUserIds(@PathVariable Long groupId){
List<Long> userList = ssoService.getGroupUserIds(groupId);
logger.info("getGroupUserIds返回{}:{}",groupId,userList.size());
return new ResultBean(ResultBeanConstant.OK, userList);
}

方法getByUserId:

public Channel getByUserId(Long userId) {
return channels.get(userId);
}

但是当我使用该值时:

            List<Long> userIds = (List<Long>) resultBean.getData();
log.info("userIds:{}",userIds.size());
for (int i = 0; i < userIds.size(); i++) {
Channel channel = getByUserId(userIds.get(i));
if (channel!=null) {
channelList.add(channel);
}
}

它报告:java.lang.ClassCastException:java.lang.Integer无法转换为java.lang.Long

我不知道哪里出了问题,日志都正常,值已被获取并返回。但是为什么Long变成了Integer呢?

最佳答案

您可以使用增强的 for 循环。您收到 java.lang.ClassCastException: java.lang.Integer 无法转换为 java.lang.Long 因为您在 for 循环中使用 int 但您的 userIdsLong 类型,因此它们不兼容。

List<Long> userIds = (List<Long>) resultBean.getData();
log.info("userIds:{}",userIds.size());
for (Long userId : userIds) {
Channel channel = getByUserId(userId.intValue());
if (channel!=null) {
channelList.add(channel);
}
}

关于java - 假装返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60947453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com