开发者社区> 问答> 正文

发现了一个很奇妙的现象?报错

框架用的ssm

其实他是吧字段名作为key,也就是id和str
然后字段的值作为value封装成一个map
接着,奇妙的事情发生了,当key是str的时候值其实是个字符串,但是他居然可以装进这个map里
数据取出后的处理:

在控制台可以正常作为字符串来输出,不会报错,而且如果使用getClass,或者其他的操作则会报错

可见,他其实不能当一个Integer来使用,但是,如果想让他作为一个String来使用的话,必须要valueOf成String
很奇妙有木有,外表是Integer,内心却是一个耿直的String啊

展开
收起
爱吃鱼的程序员 2020-06-09 11:41:16 464 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    泛型感觉你没懂。编译的时候就去掉限制了
    您能具体说说吗?结合问题泛型本身在加入和取出数据才有效果,内部存储的数据都是object数组,他本身还是个map,由于你返回是hashmap其实等同于一个map<object,object>,他可以赋值给map<String,integer>的引用,但是取值的时候就必须遵守这个规范,这个是你使用泛型的一个错误方式java泛型说多了都是泪,不够好用

    2020-06-09 11:41:35
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Android插件化-从入门到"放弃" 立即下载
属兔的处子——Clojure太灵活,臣妾驾驭不住啊 立即下载
让世界没有陌生的角落 共享单车时代的快与慢 立即下载