Map<String,String>接收到了mybatis查询的数据,并且能够获取到里面的int类型的值

Map《String,String》接收到了mybatis查询的数据,并且能够获取到里面的int类型的值,但是controller返回时报错Could not write JSON: java.lang.Integer cannot be cast to java.lang.String;
改成Map《String,Obect》就可以成功返回,我想知道为什么会这样?
我已经获取到数据了,map里面都是string为什么还要int转String
,实际上我知道Map《String,Object》 就能解决,我不明白的是为什么能够得到数据,却用不了,我用的时候需要用这个Map《string ,String》get到,用Object接收,然后再把Object转换为String

Map<String,String>接收到了mybatis查询的数据,其实并没有,泛型在这里没卵用,实际上这个map可能是Map<String,Double>....等等

需要看一下你的代码,没太看懂你的描述,其实就是简单的类型转换错误

那就是没有接收到,用

Map<String,Object>
``` 自己根据类型再转换

遇到同样的问题 同样想不通

Map<String,String> key值类型必须是String,value值类型必须是String,加入类型限制后,在编译阶段就能发现放入的类型是否错误,你返回int类型在运行之前就提示错误了,这么定义就是为了防止使用的时候key或者value类型放入错误类型,导致在运行时引发错误。