java.lang.Long cannot be cast to java.lang.String解决方案

java.lang.ClassCastException: java.lang.Long cannot be cast to java.lang.String

20161207180055

java开发中遇到这样的错误解决办法

事例代码

如果类型是Long, 就用toString
如果类型是long, 用String.valueOf()

public Map<String,String> querySubmitNumber(HSCommentDto hSCommentDto){
List<Map<String,String>> qsn = this.claSitMapper.querySubmitNum(hSCommentDto);
Map<String,String> tongji = new HashMap<String,String>();
int homeworkcount = 0;
int homeworksubmit = 0;
for(int i = 0;i<qsn.size();i++){
homeworksubmit = homeworksubmit + Integer.valueOf(String.valueOf(qsn.get(i).get(“tijrs”))).intValue();
homeworkcount = homeworkcount + Integer.valueOf(String.valueOf(qsn.get(i).get(“tijrss”))).intValue();
}
tongji.put(“homeworksubmit”, homeworksubmit+””);
tongji.put(“homeworkcount”, homeworkcount+””);
return tongji;
}

 

1人评论了“java.lang.Long cannot be cast to java.lang.String解决方案”

  1. 主要区别在于 Long 类型可以直接调用 toString() 方法,而 long 类型需要使用 String.valueOf() 方法或字符串连接运算符 + 将其转换为 String。这是因为 Long 是一个对象,而 long 是一个原始数据类型,所以需要不同的转换方式。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部