Can not set java.lang.Long field com.pro12.qqzone.pojo.UserBasic.id to java.lang.Integer

tomcat遇到了Can not set java.lang.Long field com.pro12.qqzone.pojo.UserBasic.id to java.lang.Integer

大概是这段代码出的问题

for (long i = 0; i < userBasicList.size(); i++) {
    UserBasic friend = userBasicList.get((int)i);    // 这句话的问题
    friend = userBasicDAO.getUserBasicById(friend.getId());
    friendList.add(friend);
}

报错结果:Can not set java.lang.Long field com.pro12.qqzone.pojo.UserBasic.id to java.lang.Integer

我想让它强行转成long类型并得到里面的数据。

for (int i = 0; i < userBasicList.size(); i++) { // size是int类型
    UserBasic friend = userBasicList.get(i);
    friend = userBasicDAO.getUserBasicById(Long.valueOf(friend.getId()));// 通过valueOf,将int转换成long
    friendList.add(friend);
}

java是强类型语言,要注意类型转换,涉及类型转换的时候,还要注意对象是否为null,否则很容易出现空指针异常
如果对你有帮助,麻烦采纳一下,谢谢

报错很明显哇,你的Long类型不能强转为integer类型,你应该用Integer.valueOf(i)