为什么Map.Entry.getkey()会是string类型,如何变为plate类型

老王就是我 2018-08-30 12:10:28
...全文
961 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
老王就是我 2018-08-30
  • 打赏
  • 举报
回复
引用 2 楼 huguocai199325 的回复:
首先这个key肯定是String类型,我观察到你的map是从redis里取到的,redis的key好像只能是String吧,所以这个结果是正常的。

我是用set来存储的,存放的是对象本身,redis也会把key变成string?
胡菜菜 2018-08-30
  • 打赏
  • 举报
回复
引用 2 楼 huguocai199325的回复:
首先这个key肯定是String类型,我观察到你的map是从redis里取到的,redis的key好像只能是String吧,所以这个结果是正常的。
我后面部分说的不对,你看看redisutil.get方法里面的实现,以及存储位置的实现,应该就能发现问题了
胡菜菜 2018-08-30
  • 打赏
  • 举报
回复
首先这个key肯定是String类型,我观察到你的map是从redis里取到的,redis的key好像只能是String吧,所以这个结果是正常的。
老王就是我 2018-08-30
  • 打赏
  • 举报
回复


oyljerry 2018-08-30
  • 打赏
  • 举报
回复
你存入Map的时候,是什么类型。也可以自己转换
胡菜菜 2018-08-30
  • 打赏
  • 举报
回复
引用 4 楼 老王就是我的回复:
[quote=引用 2 楼 huguocai199325 的回复:]
首先这个key肯定是String类型,我观察到你的map是从redis里取到的,redis的key好像只能是String吧,所以这个结果是正常的。

我是用set来存储的,存放的是对象本身,redis也会把key变成string?[/quote] 问题应该是出在get方法那里,set时应该是将map序列化为String,作为值来存储的,在get时反序列化时,并没有将key转换为你自己定义对象。你可以,把get和set方法的实现贴出来。

62,626

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧